我正在尝试创建一个多线宏,我正面临这个错误。
#include<stdio.h>
#define call(a) \
if ((a)>0) \
printf("printing a %d:"a)
int main
{
int a =10;
call(a);
return 0;
}
答案 0 :(得分:1)
int main
需要写成int main()
。
此外,在多行宏的最终\
之后应该没有空格。这可能会导致虚假的编译错误。
答案 1 :(得分:0)
C函数声明需要括号,有或没有参数。
int f { ... } // incorrect
int f() { ... } // correct
答案 2 :(得分:0)
缺少&#34;,&#34; in prinf()函数befor变量&#34; a&#34;。
#include<stdio.h>
#define call(a)\
if ((a)>0)\
printf("printing a %d:",a)
int main()
{
int a =10;
call(a);
return 0;
}