[問題] 使用巨集結果不如預期(已解決)
請問一下
我在windows下用TC編譯以下的程式碼
#include<stdio.h>
#define MAX(a,b) (a<b?b:a)
#define PRINT1(x) printf("%d",x)
#define PRINT3(x, y, z) PRINT1(x),PRINT1(y),PRINT1(z)
void main()
{
int m1=1, m2=3;
PRINT3(MAX(m1++,--m2),m1,m2);
}
輸出的結果為什麼是121不是222
我要把MAX改成副程式如下
int MAX(int a, int b)
{
return (a<b?b:a);
}
才能得到222
--更新線--
謝謝大家的解惑
我一開始就搞錯方向思考
怪不得解不出結果
每次用注解回都回很長
這次就修改文章了 等下會改標題
<(_ _)>
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.66.180.205
推
04/18 17:57, , 1F
04/18 17:57, 1F
→
04/18 17:58, , 2F
04/18 17:58, 2F
→
04/18 17:59, , 3F
04/18 17:59, 3F
→
04/18 18:10, , 4F
04/18 18:10, 4F
→
04/18 18:11, , 5F
04/18 18:11, 5F
→
04/18 19:40, , 6F
04/18 19:40, 6F
→
04/18 20:30, , 7F
04/18 20:30, 7F
有 標題已改
→
04/18 20:42, , 8F
04/18 20:42, 8F
只能說他題目設計這樣 我照著打卻沒找對重點
→
04/18 21:56, , 9F
04/18 21:56, 9F
→
04/18 21:57, , 10F
04/18 21:57, 10F
→
04/18 21:58, , 11F
04/18 21:58, 11F
→
04/18 22:02, , 12F
04/18 22:02, 12F
→
04/18 22:03, , 13F
04/18 22:03, 13F
→
04/18 22:03, , 14F
04/18 22:03, 14F
→
04/18 22:06, , 15F
04/18 22:06, 15F
是啊 看到ledia的說明瞬間就知道自己笨在哪了= =a
→
04/18 22:11, , 16F
04/18 22:11, 16F
恩? 不是之八嗎
※ 編輯: licanja 來自: 61.66.180.205 (04/19 00:19)
→
04/19 00:30, , 17F
04/19 00:30, 17F
→
04/19 00:30, , 18F
04/19 00:30, 18F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章