1樓:匿名使用者
這個其實你只bai要明白巨集的
用du法就清楚了zhi,巨集在編譯後,會按dao照巨集的內定義原封不動的進行替容換的。
所以替換前 k=10*min(i,j); 替換後 k=10*(x)<(y)?(x):(y); 再換成數字 k=10*(10)<(15)?(10):(15)。
優先順序先計算乘法,也就是100<15?10:15. 明顯 100是大於15的,所以取後面的表示式。
所以巨集運用是很方便,但是使用的時候千萬要注意這種情況!
2樓:匿名使用者
k=10*min(i,j);//因為是#define min...所以請替換成以下的進
行運算k=10*(i)<(j)?(i):(j);
即k=10*(10)<(15)?(10):(15);
k=100<15?10:15;
上述是個判斷語句,顯然,前面的條內件不成立,容所以值應該是冒號後面那個。
即k=15
執行的結果就是15
3樓:匿名使用者
k=10*min(i,j);這個語句錯誤。
改為:k=min(i,j);k*=10;
錯誤原因:乘法運算子優先順序大於條件運算子的運算優先順序,所以先進行10*i,後條件運算。
c語言這道題該怎麼做 沒有思路,C語言這道題怎麼做
最大子矩陣,最大連續子陣列進階,動態規劃初級,poj1050 題目描述 現給出一個n n矩陣,要求求出擁有最大和的子矩陣的和。例如 這樣的一個矩陣,最大子矩陣的和為15 分析 最大子矩陣可以看為求最大連續子陣列拓展到二維陣列上,因為矩陣的性質同樣在橫向豎向上需要連續,那麼可以想辦法將這個二維陣列簡化...
這道c語言題目該怎麼做,這道C語言題目該怎麼做?
include int main for i 102 i 333 i return 0 include int ans 9 use 9 void dfs int n else return int main a 576,b 384,c 192a 657,b 438,c 219a 819,b 546,...
求解這道題怎麼做,這道題怎麼做啊,求解
解答 若存在 copyx1,x2屬於 0,2 使得g x1 g x2 m成立 則g x1 g x2 最大值大於m g x 3x 2 2x 令g x 0,x 0或2 3 g x 在 0,2 3 上小於零,在 2 3,2 大於零 g x 在 0,2 3 上遞減,在 2 3,2 遞增g x1 g x2 最...