c 中的小問題,if a》b t a a b,b t

時間 2021-09-17 08:45:08

1樓:double_聰

問題1不執行大括號之間的,直接輸出a

問題2a先自增為3再加10 把13賦值給b#include

int main()

;int i,j,row,col,max=a[0][0];

for(i=0;i<3;i++)

}printf("%d,%d,%d",max,row,col);

return 0;

}當然不會直接輸出,你這個程式和我這個加了大括號的一樣啊。

如果if不滿足,會繼續for迴圈的。知道兩個for迴圈都弄完再最後執行那條printf語句

2樓:光腳滿地跑

樓上正解

btw儘量少用這樣的方法,現在很多坑爹的書上總是用各種難以讓人看懂的句法

其實理解了就好

正規程式設計都是不建議這樣的方法的

3樓:匿名使用者

你的大括號都沒打全 if(a>b) 後面的分號多餘 大括號沒包括printf函式的話就是(b

a賦值2 先對a做自增再與10求和再賦值於b 也就是b等於13

4樓:李磊

現將a賦值為2,然後a自增1,然後將a+10的結果賦值給b。

c++ if (a>b,a>c,a>d) printf ("max=%d\n",a)

5樓:匿名使用者

a>b,a>c,a>d是逗號表示式,逗號表示式的由最末項決定,也就是a>d

下列程式執行的結果是 a=1;b=2;c=3; while(b

6樓:匿名使用者

先普及下在c/c++中false即為0,true即為1b果為假。。即false(0)

然後b進行比較.即0<3,結果為真,進到裡面的處理不說了,結果變為a=2,b=1,c=2

再進行while裡面的判斷,同上判斷,結果a=1,b=2,c=1再進行while裡面的判斷,同上判斷,結果a=2,b=1,c=0

7樓:杭曼文星嬪

第一次比較結果2,1,2,第二次結果1,2,1,結束。vc6.0的執行結果。

這個本身是錯的,要寫成while(a>b&&b>c).

8樓:枝寰溥蔓

先說條件:a

然後說下c語言邏輯值的表示:真為1,假為0。所以a最後t=a;a=b;b=t;是實現兩個數相互交換的典型,所以a=2,b=1,而c--結果為2

所以最後輸出結果為2,1,2.

9樓:匿名使用者

判斷b; 再去判斷while,一直到while為假。既a=1,b=2.c=1時(最初迴圈3次後),a,b互換,c--;不滿足迴圈條件跳出迴圈並輸出結果。

10樓:匿名使用者

程式執行過程是這樣的:迴圈了兩次,a、b交換了兩次,ab交換後沒有變化,而c減了兩次,結果變為0.

c語言中 int a=0,b=0,c=0; if(a&&++b) c++; printf("%d,%d\n",b,c); b和c為什麼都等於0

11樓:匿名使用者

因為a=0所以&&右邊的就被短路了,不被執行, 所以最後a, b, c的值都不變,都為0

12樓:匿名使用者

c語言中&&是一種雙目運算子,表示與運算,而當左邊所給表示式或變數為0時,不再計算右側,整個表示式為零。

13樓:

只要條件a為假,就不會執行++b 和 c++了,所以b和c都等於0

C語言小問題,C語言一個小問題

區別 一個是指向結構體變數的指標,一個是指向整形變數的指標。詳細說明如下 struct student p指向結構體變數的指標 struct 結構體名 結構體指標變數名 執行結果 int p變成了指向整形變數的指標 編譯執行 錯誤 不同的變數型別,p並不屬於整形變數類指標。 你.是不是諶衛軍老師班上...

C語言的小問題

你的變數m,n,p是機器自有的,不用輸入了!機器只認10,20,30 因為程式設定的只讀多少個位元組的資料,你多一個小數點都不行的!錯一個bit都不行的 scanf只提供儲存。也就是隻提供地址。所以不會有這些 你要是想實現的時候可以在printf printf任意都可以實現。你愛怎麼輸都可以 可以的...

C語言指標小問題

最大的寶寶 c語言的陣列從0開始索引,陣列形式的字串不能直接比較,這和字串類是不同的 int main scanf s a int i 0 for i 5 i if i 5 printf not found return 0 include include include define str x ...