【发布时间】:2020-12-30 14:15:49
【问题描述】:
我已经研究了问题可能是什么,但我没有找到任何好的解释。
我必须编写一个返回数字 mod 2 的宏,但对于我调用宏的每一行,我总是在 '{' 标记之前得到错误:预期表达式 我现在的Header如下:
#define MOD2(number) \
{ \
return (number) % 2; \
}
和主要代码:
int main(){
int number = 255;
printf("%d mod 2 ist %d.\n", number, MOD2(number));
printf("%d mod 2 ist %d.\n", number, MOD2(number + 1));
printf("%d mod 2 ist %d.\n", number, MOD2(number + 2));
printf("%d mod 2 ist %d.\n", number, MOD2(number + 3));
}
谁能解释一下问题出在哪里?
【问题讨论】:
-
用
#define MOD2(number) (number) % 2改变定义
标签: c