我正在使用 c 预处理器指令。我想知道这个程序是如何工作的?
#define PRODUCT(x) (x*x)
main()
{
int i=3,j;
j=PRODUCT(i+1);
printf("\n%d",j);
}
输出是
7
#define PRODUCT(x) (x*x)
实际上是一个宏。它的行为与通常的 C 函数不同。
宏是在编译器看到代码之前完成的简单文本替换。
因此,这里实际发生的情况可以表示为:
j = PRODUCT(i+1);
j = PRODUCT(3+1);
然后代码变为:j = 3+1*3+1;
main(){
int i = 3,j;
j = 3+1*3+1;
printf("\n%d",j);
}
3+(1*3)+1
3+3+1
7
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句