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
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...