1樓:匿名使用者
格式字串中只有一個%d,所以只輸出第一個引數的值,它是:a=a+1。
另外可以上機試一下。
2樓:
輸出bai
:2因為=運算子的優先du級低於,(逗號)運算子,zhi所以printf("%d\n",a=a+1,a+6,b+2);等效dao於:printf("%d\n",(a=a+1),(a+6),(b+2));也就是printf多提供了回2個無用的引數
注意:不能答把a=a+1,a+6,b+2當做是一個,(逗號)表示式
3樓:匿名使用者
雖然c有個原則是在printf函式裡後面的 引數處理順序 是從右到左,但是真正列印還是列印的第一個,你把b+2換成a++,估計結果就是3了。
不要弄混了
4樓:匿名使用者
執行baiprintf("%d\n",a=a+1,a+6,b+2);這句之前,
要先du把代入的引數算出來,這
zhi時候daoa被+1,
真正專執行的時候,輸入的引數是屬printf("%d\n", 2, 8, 4);
由於輸出的只有第一個可變引數,所以是2
5樓:匿名使用者
a=a+1 肯定是2啊,後面的你又沒指定要輸出啊
除非:int a=1,b=2;
printf("%d %d %d\n",a=a+1,a+6,b+2);
有以下程式 #include
6樓:南霞輝雪珂
結果應為01
這是由於++a先自加,使得a=0,所以++a<0不成立,則if((++a<0)&&!(b--<=0))
語句不成立,並且也不再執行b--<=0了。
故結果為01
7樓:宗政蓉城樊若
a=a+++b+++c++很顯然這個表示式裡面有運算子加號,所以要先分類,
a=a++
+b++
+c++,層次清楚了在從運算規則分解表示式a=a+b+c;a=a+1;b=b+1;c=c+1;所以最後結果為4,2,2
"請讀程式: main() { int a=1,b=2,c=3; ++a; c+=++b; { int b=4,c; c=b*3;
8樓:風影美
選cmain()
printf("third:%d,%d,%d\n",a,b,c); //26,3,6(區域性變
量b、c失效版)權}
6.以下程式的執行結果是_____. #include
9樓:豪氣豪邁
#include
main()
int max(int x,int y)//有返回值的結果是max is 2
10樓:匿名使用者
執行果果是:max is 2
若有定義int a 3,b 2,c 1,則執行程式段if
a的值為1 條件a b c的值為假,所以執行a c,結果a 1 a b c相當於 a b c 先計算a b,為真,值為1,計算1 c,為假,整個表示式的值就是假 若有定義 int a 3,b 2,c 1 則執行程式段if a b c a b else a c 之後,a 問題不全啊?a的值?a b c...
下列程式的輸出結果是1 mainint a 2,b 1,c 2 if a
樓主好!此題的完整寫法是 include void main 輸出的結果是8 11這兩個數。首先你要知道指標的含義,和陣列中陣列名的作用。第一 你定義了一個指標p,並且把a的值賦予給p,這就相當於把一維陣列a 5 的首地址賦予給哦指標p,因為陣列名a就相當於陣列的首地址。所以p指向陣列a 5 的首元...
5a2b10則1b的值是
因為a 2 ab b bai2 1,所以 dua zhi2 b dao2 1 ab,兩邊平方得a 4 b 4 3a 2b 2 2ab 1,即a 4 b 4 2a 2b 2 5a 2b 2 2ab 1,即 a 2 b 2 2 5 ab 1 5 2 4 5,所以當內ab 1 5時,a 2 b 2取最小值...