1樓:
if (a>b)k=1;else if (b<=c)k=1; else if (a>c)k=1;else k=0。選d。
問號表示式 :
(表示式1)?(表示式2):(表示式3)。
如果表示式1成立則執行表示式2,否則執行表示式3。
注意事項:
問號表示式是從右向左執行
例如 :
int a=8,b=3,c=7;
printf("%d",a>b?a>c?a:c:b>c?b:c);
可以分成三步完成
第一步:b>c?b:c 結果為c
第二步:a>c?a:c 結果為a
第三步:前兩步的結果分別對應表示式3和表示式2,即a>b?a:c。
最終輸出結果為a即8。
2樓:匿名使用者
表示式k=a>b?(b>c?1:
0):0表示:如果(a>b)條件為真,則k取值(b>c?
1:0),否則k取值0;當a>b的情況下,如果b>c,則k值為1,否則為0。所以該表示式與選項a)功能相同。
3樓:匿名使用者
條件運算子巢狀。
先算有限的括號裡的。
也就是說,當b>c的時候,取1;否則取0;
再看左邊,當a>b的時候,取右邊條件運算子的值;其他取0。
所以,當a>b而且b>c的時候,取1;其他的都取0。
那麼答案是a
4樓:明月看盡滄桑
a運算順序如下:
k = ( a > b ? ( b > c ? 1 : 0 ) : 0 );
賦值運算子優先順序最低。
c語言考試求答案 10
c語言,以下程式的輸出結果是,C語言問題 以下程式的輸出結果是?
輸出1 3 這是遞迴了,所以先是fun 3 進入後發現3 2 1,所以又繼續func 3 2 也就是fun 1 進入發現1 2 0,就執行prinft,輸出1,然後fun 1 就返回了 返回出去正好是fun 3 的prinft,輸出3 進入fun 3 進入fun 1 輸出1退出fun 1 輸出3退出...
以下程式的輸出結果是,C語言問題 以下程式的輸出結果是?
c語言函式引數都是單向傳遞的,直接傳值是不可能改變原來的數值的。此題答案30,20 你的printf好像有點問題 include void fun int p1,int p2,int p3 main 按lz所寫 輸出為30,20,因為函式的引數為所宣告變數的副本,這樣不會改變原有的變數。如果想改變原...
c語言程式問題,C語言程式問題?
1.在你打算學習c語言之前,你要下一個狠狠地決心.因為許多電腦愛好者在學習c語言的過程中,都會遇到困難,從而沒有堅持到最後.只有你下定狠狠地決心,才能學會c語言,才能學好c語言.2.要想學習好c語言,就要學會細心,耐心.c語言程式的編寫需要非常細心,因為一個標點符號的錯誤,可能導致程式的無法執行.3...