有人可以解释这个程序的输出 -
#include<stdio.h>
#include<conio.h>
#define FUDGE(k) k+3.14159
#define PR(a) printf(#a" = %d\t ",(int)(a))
#define PRINT(a) PR(a);putchar('\n')
int main()
{
int x=2;
PRINT(x*FUDGE(2));
printf(\n);
PR(x*FUDGE(2));
return 0;
}
Run Code Online (Sandbox Code Playgroud)
输出 -
x*2+3.14159 = 7
x*FUDGE(2) = 7
Run Code Online (Sandbox Code Playgroud)
为什么FUDGE(2)要在第二个声明中打印而不是在第一个声明中打印.
当我运行以下代码时,
#include<stdio.h>
#define X (4+Y)
#define Y (X+3)
int main()
{
printf("%d",4*X+2);
return 0;
}
I am getting the following output:
Error: Undefined symbol 'X'
Run Code Online (Sandbox Code Playgroud)
有人可以解释输出吗?