1樓:匿名使用者
m=a>b先算,
>比=優先順序高,先算a>b,結果為假,用0表示,所以m=0,
所以(m=a>b) 這個表示式值為0,
0和任何值進行&&運算結果都為0,因此編譯器會對運算過程進行優化,&&右邊的表示式不再計算,所以n的值沒有變.
2樓:洪羿
這是個與運算問題,只要有一個為0就是0,所以當m=a>b這個式子執行之後,整個與運算就是0了,系統就不用再執行另外的一條式子,而是跳到下一語句執行了!
3樓:匿名使用者
這是一個與判斷,兩個括號表示式。
&&判斷有個特點就是從左向右。如果第一個表示式不成立。第二個表示式就不行進行。
前面的(m=a>b)按優先順序。先a>b得結果不成立為0再執行m=0.整個前面的括號表示式的值為0.
不管後面的值為多少&&後都為0所以為了提高速度後面的就沒有意義進行運算了。所以n的值沒有改變。還是為初始值2
所以選b
4樓:通靈哈哈
&&是邏輯與運算子 當兩個都為真的時候才是真的 前面的如果為真才看後面的 如果前面的是假就不用看了 m=a>b是假所以n 不變為2
怎麼用c語言編一道選擇題?兩個選項a、b,當使用者輸入a時,會提示答案正確,當使用者輸入b時,會提示
5樓:匿名使用者
c語言中,一條語句就可以實現你所說的功能。
(getchar()=='a')?printf("答案正確"):printf("答案錯誤");
c語言,為什麼選a?為什麼不選b呢?
6樓:匿名使用者
因為被除數和除數都是整數,進行的是整除,小數部分被丟棄了。20/3整除的結果就是6,保留一位小數就是6.0。
這道c語言題為什麼選b??
7樓:匿名使用者
這是正確的,因為根據顯示條件,當i是偶數時輸出顯示大寫,奇數時輸出顯示小寫。
注意i%2的運算結果就是奇數為1,偶數為0.
8樓:風影美
%a.bf
a是說整體最少的位數,包括小數點,不夠的用空格補b是說小數點後最多的位數
%6.2f:保留到小數點後2兩位,所以選b
9樓:1熱愛祖國
選a好吧~_~scanf不能精度控制是非法的
一道c語言題,為何不選a而選b,求理由
10樓:匿名使用者
執行 switch (b) 花括號裡面的**,當執行完case:0的時候,後面因為有一個break,所以就跳出了內花括號,容繼續執行下行**case 2:printf("**2**");break; 當執行完這個break,程式就跳出到printf
11樓:741852963一
b。因為case 1:中缺少復了break;語句,所以兩制個都執行,這是一種多bai路開du
關的辦法,因為有些時候zhi,判斷結dao果雖不同,但要執行同一個語句,就可以用到。比如說:
int a=1;
switch(a)
12樓:匿名使用者
switch (a)
/*因為
baicase1整體結束後du這裡並沒有一個zhibreak,所以當case1執行
完畢之後dao,系統專會繼續執行case2的內屬容 */case 2:printf("**2**");break;
}printf("\n");
一道簡單的C 選擇題,一道C C 的選擇題
include int main 你還沒有完全理解強制型別轉換!在強制型別轉換時,得到一個所需型別的中間變數,原來變數的型別並沒有發生變化。這裡雖然y被強制成整型,x被強制成浮點型。但是這只是所需的中間變數,他們最後的型別還是之前定義的型別!要注意細節啊。include main 怎麼算不出來?你輸...
求助關於c語言一道選擇題,求助關於C語言一道選擇題 !
解析有問題。正確的解析應該是 do while 條件表示式2 條件表示式2成立次數為n2,則迴圈體b執行次數為n2 1.因為條件表示式2成立就要執行一次,還要加上進入迴圈時執行的那一次。而對於while 條件表示式1 迴圈體a 條件表示式1成立次數為n1,則迴圈體a執行次數為n1。基於上述分析 1 ...
二級c語言選擇題 兩道求詳細解釋
a的意思是取n的地址賦給指標p p表示取指標p裡的變數值,正確是p n b同理,輸出的是變數值,而不是地址,正確是printf d n p c格式輸入函式scanf後面引數是取地址值,乍看 p好像對,但是別忘了p是指標變數,本身作用就是儲存地址,所以正確是scanf d p 第一題嘛,if a 1 ...