[問題] 巨集傳值問題
#include<stdio.h>
#include<stdlib.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)
int main()
{
int m1 = 1, m2 = 3;
/*我以為會印出222,但印出121
想法:m1=1 m2=2 傳入MAX
之後m1作++ 得到m1=2 m2=2
MAX中 a=1 b=2 所以傳回 b=2
故印出222
*/
PRINT3( MAX( m1++, --m2), m1, m2);
system("PAUSE");
return 0;
}
麻煩大家了,感謝各位^^
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 120.107.185.60
→
11/26 17:14, , 1F
11/26 17:14, 1F
推
11/26 17:14, , 2F
11/26 17:14, 2F
→
11/26 17:15, , 3F
11/26 17:15, 3F
→
11/26 17:19, , 4F
11/26 17:19, 4F
→
11/26 17:21, , 5F
11/26 17:21, 5F
→
11/26 23:11, , 6F
11/26 23:11, 6F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章