test1.c:7:错误:语法错误之前' {'代币

时间:2015-05-21 08:12:03

标签: c

我正在尝试创建一个多线宏,我正面临这个错误。

    #include<stdio.h>

    #define call(a) \
            if ((a)>0) \
              printf("printing a %d:"a)

    int main
    {
            int a =10;
            call(a);
            return 0;
    } 

3 个答案:

答案 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;
}