1樓:y冰靨之星
你可能要先理解下 switch(a++)
這個條件是得到a值代入後面滿足條件的case式子計算,再自增。
再理解下沒有break的case語句
當case式子之後不帶break的話,該式子及之後所有條件的式子都會被執行
所以程式中的a,b值變化是
a=1,b=0; //初始值
a=1,b=-1,b=0,b=3;a=2 //第一次for迴圈 進switch,滿足case1,執行b--,b++,b+=3
a=2,a=3; //switch結束後,a=2,返回for迴圈第三個條件,a自增,此時for迴圈判斷a<3不滿足,所以暫停迴圈
得到結果 b 就是第一次迴圈得到的值 3
2樓:匿名使用者
把程式後面都列印a的值,就明白了
#include
void main()
printf("%d",b);}
switch a++,先判斷後自增
第一次執行 b--,b=-1,但因為後面沒有break,所以依次執行後面的case 2, case 3
繼續執行下去,b++, b=0
繼續執行下去,b+=3, b=3
這時候a已經等於2,再a++,a=3 不滿足 a<3 跳出for 迴圈,執行最後的列印
如果程式程式設計這樣
#include void main()
printf("%d",b);
}最後就輸出 -1
c語言問題求解如圖謝謝為何這個不用 與號
3樓:匿名使用者
name是陣列名,陣列名即陣列的首地址,
所以不需要再取地址,所以不需要使用&
4樓:天雨下凡
因為name是char型陣列的陣列名,而陣列名是指向該陣列首項的const指標,所以在它前面不用加取地址符號&
c語言問題求解如圖謝謝這為何是錯的 這個常量
5樓:阿冬
因為科學計數法中要求e的後面要使用整數,正負均可,但不能是小數。
c語言問題求解如圖謝謝b c d 為何不對?
6樓:
b——0x後沒有跟數字,03f中因0打頭的是八進位制,而八進位制不可能有f。錯。
c——985,768中逗號錯,4d2中1~9打頭的是十進位制,而十進位制中不得有d。錯。
d——760x中x錯,十進位制中沒有x這個符號。
C語言問題求解如圖謝謝氣泡排序法這個j10 i 1為什麼j要小於N i?是什麼意思
再醉不逍遙 裡面的for迴圈完成一次迴圈,就將最大值轉移到最後,那麼下一次 外面for 就要排除最後已經得到的最大值,在剩下的值中再次得到最大值並轉移到最後。每一次冒泡後,都要少比較一個資料,比如 4 5 2 1 一次冒泡得 4 2 1 5 二次冒泡得 這時只要遍歷3個 4 2 1 2 1 4 51...
C語言問題求解,c語言問題求解
用指標更靈活,很多時候效率更高 舉個例子,比如用做函式引數 如果定義int a 3 然後函式引數用 void func int a 3 那麼傳進去的就是三個值,並且是形參,無法帶回修改後的值如果用void func int a,int size 這樣傳進去的只有兩個值,一個地址,一個size,並且修...
c語言問題求解答,c語言問題求解
應該是 x y 2吧。最後選b 當i除以3餘1 除以5餘2 跳出迴圈 否則i自加 i初始化為5 所以 7 格式整理好就能看清楚了 include main int i 5 do if i 一葉二沙三世界 額,樓主題目估計都發錯了!同意修改 c語言問題求解 include int main retur...