請讀程式 mainint a 1,b 2 printfd n ,a a 1,a 6,b 2則上面程式的輸出結果是

2021-04-21 09:55:08 字數 1641 閱讀 4807

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);

有以下程式 #includemain() { int a=1,b=1; for(;a--;) b--; printf("%d,%d",a,b); }

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 main() {int a=1,b=2,c; c=max(a,b); printf("max is %

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取最小值...