1樓:匿名使用者
結果15
之所以容易被理解錯誤是由於運算子優先順序的問題解決此類問題,第一步,巨集
k=10*min(i,j);
即k=10*(i)<(j)? (i):(j);
第二步,根據運算子優先順序、結合性判斷
原式等效於
k=(10*(i))<(j)? (i):(j);
二目運算子*優先順序高於三目運算子? :
第三步,代入值,判斷計算100<15顯然不成立,返回值15,所以k值最終為15
2樓:匿名使用者
我剛才也糾結了半天 你把這個程式 替換了看就清楚多了i=10;j=15;
k=10*(i)<(j)? (i):(j);
這樣子一比較 結果k就是15了
3樓:匿名使用者
#include
#define min(x,y) ((x)<(y)? (x):(y))//需要括號起來
main()
4樓:魔尊第一樓
k=10*min(i,j);
這句話的意思是,10倍的i,j中的最小值和j進行比較,也就是100:15,當然答案是十五了。
如果i=1,j=15,那麼就是,10:15,輸出的就是1,i的值了。。
望採納!!!
5樓:紅粉乖乖
min(x,y) (x)<(y)? (x):(y)
這是個判斷語句,若x 6樓:匿名使用者 min(i,j)是要求i和j中小的乙個,結果是10;k = 10*10=100; define f x x x 定義巨集的時候,程式是不給解釋的,只是見到了,就用巨集來代替 這個問題程式是這樣執行的 4 4 4 4 2 2 2 2 結果 28 應該為 define f x x x 一定要加上括號,切記,切記。define f x x x 定義巨集的時候,程式是不給解釋的,只是見到... 32768正確 乙個整型變數只能容納 32768 32767範圍內的數,無法表示大於32767的數。遇此情況就發生溢位,但執行時並不報錯。數值達到最大值時後,從最小值計數,所以32768 32767 1,在c裡就又回到 32768了 把int b 改成long b b ld 再試試看 根據編譯器的不... 甄安秋梵 沒有 case 0 就不做 再做最外層的default 輸出 再換行,結束程式 switch是這樣的,在沒有遇到break跳出迴圈之前是以次向下執行的。首先 a 0為真 即 1 所以進入case 1 b 0為假 即 0 但是下面的選擇結構 沒有case 0 那麼接著向下執行 case 0....請問下面這個c函式的執行結果是多少
程式執行後的輸出結果是,c語言,以下程式執行後的輸出結果是
C語言switch這個程式的執行結果是什麼