宏定义问题
#include<stdio.h>#define fudge(y) 2.84+y
#define pr(a) printf("%d",(int)(a))
#define print1(a) pr(a);putchar('\n')
main()
{
int x=2;
print1(fudge(5)*x);
}
为什么答案为 12
fudge(5)= 2.84+5 =7.84 然后*2 =15.56 取整应该为15 为什么计算机给出的答案是12 ?
2007-09-11 20:23