下面程式的執行結果是funa int aint b 0 static int c 3跪求大神解答

時間 2021-08-30 09:32:00

1樓:金色潛鳥

得4。for(i=0;i<2;i++) k=funa(a++); 迴圈語句執行2次。

第一次 a=2 進入函式funa,(主函式裡的a變3,這些都無關緊要,對程式結果無影響。),

funa()中 a=c++, a得3,c 變4,c 是 static, 它將保留 c=4 到下次呼叫,函式funa返回3,k=3。

第2次 a 進入函式funa, funa()中 a=c++, a得4, c 變5, 函式funa返回4, k=4.

迴圈結束,k=4; printf("%d\n",k); 輸出 4。

以下程式執行後的輸出結果是 #include<stdio.h> int f(int x, int

2樓:匿名使用者

由於f(int x,int y)函式返回的值是(y-x)*x,相當於說f(int x,int y)=(y-x)*x;

這裡主要是計算巢狀函式f(f(a, b), f(a, c));

先將f(a, b)和 f(a, c)帶進去,得到f((b-a)*a,(c-a)*a)=f((4-3)*3,(5-3)*3)=f(3,6)

最後計算f(3,6)=(6-3)*3=9,所以最後的輸出結果就是9,執行以上程式結果如下:

3樓:

f(int x,int y)這個函式返回的值是(y-x)*xd=f(f(a,b),f(a,c))相當於int m,n;

m=f(a,b);n=f(a,c);

d=f(m,n);

由f函式可知m=(b-a)*a;n=(c-a)*a;

d=(n-m)*m;

依次帶入值m=(4-3)*3=3;n=(5-3)*3=6;

d=(6-3)*3=9;

所以輸出值是9

4樓:匿名使用者

我真的不知道愛=哎問別人不

#include int fun(int a) { int b=0; static int c=3; a=(c++,b++); return (a); }

5樓:

a=(c++,b++);由於(c++,b++)中用了逗號,逗號作為運算子時返回最後的表示式值,所以這句相當於a=b++,由於++在後,所以這又相當於a=b;所以返回0

6樓:匿名使用者

#include

int f(int a)

7樓:朱過熱

fun是個函式呼叫你的fun函式寫的好奇怪。

8樓:

a=(c++,b++); 這行沒有看懂,可能就是這裡出問題的

9樓:小傻

遇到這種問題的時候,給你的建議就是在每句後面列印a的值,你自己去分析一下為什麼,這樣很有用

c語言高手幫幫忙!

10樓:御風__弄影

第一題中確實是錯的。

因為

指向的變數都賦有初值。

而x沒賦初值,用pb指向它時有不可預知的危險

11樓:a書影時光

(1)這個式子是錯的,應該寫成:*pb=x。因為第一句是定義語句,而一個語句的結束是以「;」結束,那「*pb=&x」就不屬於定義語句了,*pb在第二個語句的意思是指標變數pb指向的記憶體空間的值,所以是x。

第二個句子「 」*pk、*pm是在定義語句內,*pk、*pm的意思是定義一個變數是指標變數取值分別是k的地址和n的地址。

12樓:匿名使用者

第一個,你理解是錯誤的

首先在定義的時候,比如 int *a 這時的a代表,定義他為指標變數,前面的*只是為了說明,他是一個指標變數

而經過定義以後,在使用時,你用a就代表了,指標邊量,而你用*a就代表的是指標變數a所指向的變數

如 : int *a,b=3

a=%b

*a=3

第一行定義中*a就是說a 為一個指標變數

第二行中a就已經代表了一個指標變數,把b的地址賦給a中第三行*a和第一行的*a的意義是不同的,第一行的意思見上面,,第三行的*a的意思是指標變數a所指向的變數,也就是b,所以*a=3

13樓:聲宜節昊宇

去**網路上機那本書裡有原題,考試時間太久了,記不起來了,真不好意思

14樓:風捲

第二題結果是24

其實是2和4,中間沒有空格,所以變成了24.

也就是輸出a陣列的前兩個元素a[0]和a[1]。

第六題17

第七題8,17

第八題2,5,1,2,3,-2

第九題9

第十題1.10

備註,第**十題程式均有錯誤,lz你程式設計時注意不要用中文輸入法下的()當成英文輸入法下的()用,還有「和"不等。。。

這道題目 int x,(*p)(int,int 沒看懂,求答案和分析一下解題方法 可加分

15樓:歲月哪曾斑駁

int(*p)(int,int)指的是一個函式指標,指向一種函式,這種函式返回整型,並且有兩個整型的引數,用函式指標可以用來指向一個相似型別的函式(同樣的返回值和引數),是c語言用來實現泛型程式設計的一種高效率方式。

這個題目裡面p指向函式funa,而後傳入函式sub,所以x=9+3=12,而後直接傳入函式funb,x=x+8-3=12+5=17

最後輸出x的數值,即17.

不過注意,這個題目的寫法很不規範,實際程式設計的時候還要注意。

16樓:匿名使用者

(*p)(int,int);p為函式指標,p=funa; p指向funa,(*p)(int,int)等價於 funa(int a,int b)

sub(int(*t)(),int x,int y) 第一個引數即函式指標,指向要呼叫的函式入口

x=sub(p,9,3); x變為12;sub(funb,8,3)=5

所以x+=sub(funb,8,3)=17最後輸出17

這幾題怎麼寫啊?c語言的。 1. void main() { int x,y;  scanf(

17樓:

需要過程不?

第一道題:

>20||x<-10) //x>20,所以執行   if(y<=100&&y>x) //y>100,為假,所以執行else,結果為bad

第二道題

2. switch(i)

注意switch沒有加break語句,所以會將花括號裡的語句執行完,i=0時,case 0;執行。case 1;執行,a=1.case 2;執行,a=3。

default執行a=6。

以此類推,a=20

第三道題:

當x=0是跳出迴圈,第一次迴圈輸出一個末位5,同時x=1234;也就是說每次迴圈輸出末位

以此類推,輸出應為54321

範例:全域性變數、區域性變數和靜態區域性變數的應用示例。 【要求】(1) 分析並寫出下列程式的執行結果,然後輸 5

18樓:匿名使用者

305 300

400705 400

300 400 0

300 400 400

下面程式輸出結果是,下面程式輸出結果是什麼?

韋榮軒喜昱 當a 14時執行do while迴圈 由於開始時對a賦值10,所以輸出a 10,y 0 堵丹彤牟萱 輸出為 a 16 y 60,分析如下 main while a 14 這裡的迴圈條件不是判斷是否滿足a等於14,而是一個賦值語句,每次執行到這裡都會將14賦值給a,因此這裡的迴圈條件始終都...

下面程式的執行結果是要詳細解釋啊

結果時 28 70,所以d 正確,選d 把縮排寫好這 是這樣的 main return 0 可見意思是 從2到100間,從某個數開始連續的3個數符合最小能被2整除 中間的能被3整除 最大的能被7整除。輸出最大的數。找出的第一個數是28,28能被7整除,27能被3整除,26能被2整除。找出的第2個數是...

下面程式的執行結果是什麼?為什麼

南睿薇 二10 20 d類是從b類和c類派生的,而b類和c類又都是從類派生的,但各有自己的副本。所以對於物件d,d.b n與d.c n是兩個不同的資料成員,互無聯絡。所以程式結果為 10,20三35 4523b d 3,5 呼叫建構函式b int,int a int 得到x 3 y 5 d.disp...