1樓:匿名使用者
下面的這兩行:
a:#define min(i,j) (i=j,則k=10*j而如果使用b行的預定義代換,就會變成下面的這樣:
k=10*(i)<(j)?(i):(j);
因為*運算優先於《運算,這樣表示式的判定就變成下面的這樣:
如果(10*i)=j,則k=j
希望能夠表達清楚
2樓:樂酷科技
#include"stdio.h"
#define min(i,j) (i)<(j)?(i):(j);
main()
我想主要是這個不懂吧 k=10*min(i,j);
等價於k=10*(i)<(j)?i:j;運算一下就是k=100<15?10:15,所以結果是15
3樓:王的精彩影視片段
一個是根據運算子順序計算,一個是直接讓兩個變數比較,不管裡面符號如何
4樓:匿名使用者
#define min(i,j) (i 這是帶引數的巨集,後邊這個;應該去掉 #define min(i,j) (i 比如 要計算 10 + min(5,1) 本意是這樣 10 + ((5<1) ? (5) : (1))結果是11 直接使用巨集 替換以後變為 10 + (5 <1) ? (5) : (1)這個計算卻是這樣 (10 + (5 <1)) ? (5) : (1)結果是5 對於問題1 我們只討論迴圈 開始 for i 0 i 2 i i 0 往下執行 for j 0 j 2 j j 0往下執行 for k 0 k 2 k k 0 往下執行 printf d d d n i,j,k 輸出 i j k 顯然輸出的是 0 0 0 輸出後執行 k k值變為1 與2比較 顯然 ... 用迴圈去掉str中所有為ch的字元,程式中有點錯,不是srt i ch,而是str i ch str i 0 是判斷句 表示如果i的值不等於字元 0,那麼i str j str i 代表把i的值賦給str j 1 字串str和字元ch都是函式的接收引數,i j是計數器初始為0,迴圈條件是str陣列不... c 符號 d 整型 f 符點 聞雞休息 printf c d f a,b,c c 將a按字元輸出 d 將b按整型輸出 f 將c按浮點型輸出 如 printf c d f 1 2,3 輸出結果為 1 2 3.000000 注意 如果將整型按字元型輸出,則將會是ascii碼錶中該整型值對應的字元。如果將...c語言中for與for有什麼不同
這個c語言自定義函式的我沒看懂不知道ij都代表
C語言中c和d和f有什麼區別啊,C語言中 d和 f是什麼意思啊?