这是关于c语言宏定义的的一段简单代码,今天我默写,发现了一个问题,不明白,代码如下
- #include <stdio.h>
- #define sum(v1 , v2) ((v1) + (v2))
- int main(int argc, const char * argv[])
- {
-
- // int sum(int v1 ,int v2);
-
- int a = sum(4 ,5) * sum(3, 2);
-
- printf("a的值是%d\n",a);
-
- return 0;
- }
复制代码
如代码所示,在编写程序前,使用一个变量都需要先定义,代码中我唯一注释的一行 // int sum(int v1 ,int v2); 就是我自己写的定义,但是加入到代码中之后总是报错,报错原因也是莫名其妙,不要这行代码注释掉之后代码正确,这是为什么? |