编译警告 warning: extra tokens at end of #undef 解决

#define MAX(a,b) ((a)>(b)?(a):(b))
#undef  MAX(a,b)

#define MAX(a,b) ((a)<(b)?(a):(b))

这样写编译时就会出现如标题所示的警告

把第二句改成: #undef MAX 则不会出现 因为按照C标准的说法,撤销宏定义的语法为#undef name ,其中name是宏名,仅仅是宏名

编译器:gcc 4.6.3

你可能感兴趣的:(C语言小结)