minipiao 发表于 2017-12-17 15:54:53

关于C语言预编译的问题

如下代码:
#include<stdio.h>
#define SUB(a) (a)-(a)
main()
{
    int a = 2,b = 3,c = 5,d;
    d=SUB(a+b)*c;
    printf("%d\n",d);
}
得到的值是-20,请问 d=SUB(a+b)*c此处是如何实现运算的?

BngThea 发表于 2017-12-17 16:09:10

等价于
(2+3)-(2+3)*5

minipiao 发表于 2017-12-17 16:13:35

明白了 多谢多谢
页: [1]
查看完整版本: 关于C语言预编译的问题