c原文件

#include<stdio.h>
#include<stdlib.h>

#define MAX(A,B) A>B?A:B        //返回A,B中的最大值

#define LOOP(FROM,TO,CONTENT) \
        for(int index=FROM;index<TO;index++){\
                CONTENT \
        }\
                
int main(void)
{
        printf("Max num is %d\n",MAX(2,5));
        printf("Max num is %f\n",MAX(5.5,5.4));
        printf("Max char is %c\n",MAX('a','c'));

        LOOP(2,10,
                printf("Current index is %d\n",index);
        )

        return 0;
}

编译时的错误提示

wKiom1gIJ_2yKGjlAABJOeZGIpo947.png-wh_50

解决方法:

    在编译的时候加上—std=c99(PS:c99中的c要小写,大写会出错)

例如:gcc -std=c99 DefineFunc.c -o DefineFunc