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 區別 一個是指向結構體變數的指標,一個是指向整形變數的指標。詳細說明如下 struct student p指向結構體變數的指標 struct 結構體名 結構體指標變數名 執行結果 int p變成了指向整形變數的指標 編譯執行 錯誤 不同的變數型別,p並不屬於整形變數類指標。 你.是不是諶衛軍老師班上... 你的變數m,n,p是機器自有的,不用輸入了!機器只認10,20,30 因為程式設定的只讀多少個位元組的資料,你多一個小數點都不行的!錯一個bit都不行的 scanf只提供儲存。也就是隻提供地址。所以不會有這些 你要是想實現的時候可以在printf printf任意都可以實現。你愛怎麼輸都可以 可以的... 最大的寶寶 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 ...C語言小問題,C語言一個小問題
C語言的小問題
C語言指標小問題