#include<stdio.h>
#define FUDGE(y) 2.84+y
#define PR(a) printf("%d",(int)(a))
#define PRINT1(a) PR(a);putchar('\n')
void main()
{
int x=2;
PRINT1(FUDGE(5)*x);
}
为什么答案是12,百思不得其解中。。。
你好,很感谢你的回答。我还有一点想不明白。这个程序我看不懂,
#define PR(a) printf("%d",(int)(a))
#define PRINT1(a) PR(a);putchar('\n')
PR(a)有什么用呢?
PR(a) define为 printf("%d, (int)(a))
替换时,第二行会变为:
#define PRINT1(a) printf("%d", (int)(a));putchar('\n')
没有PR, 只会输出一个'\n', 不会输出a