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語言問題!求解!
include int main printf a 4 3 is n for i 0,count 1 i 4 i for j 0 j 3 j printf the new a 4 3 is n for i 0,count 1 i 4 i printf n return 0 include using...
C語言問題求解答,c語言問題求解答
時辰八點半 第一個days day 獲取最後一個月的天數 第二個switch month 1 獲取除了最後一個月之外完整月的天數之和 嶽章戶湘君 逗號表示式從左往右依次計算,取最右邊的表示式的值為整個表示式的值 答案應該是5.000000啊 c語言問題求解答 5 1 include 2 int ma...