我是新来编程,希望有人能帮助我这个:
为什么它给出了一个输出:5。
这里是代码片段:
#include <stdio.h>
#define max 5;
int main(){
int i=0;
i = max+1;
printf("\n%d",i);
return 0;
}
我是新来编程,希望有人能帮助我这个:
为什么它给出了一个输出:5。
这里是代码片段:
#include <stdio.h>
#define max 5;
int main(){
int i=0;
i = max+1;
printf("\n%d",i);
return 0;
}
的关键的一点是
#define max 5;
当由预处理器取代,这将成为
i = 5; +1;
其中分配5到可变i
(表达+1;
没有任何影响)。
你需要写
#define max 5
因为你有一个分号的宏定义在x =
去掉 ';'在5号后面,你很好走。 – Bart
是的宏是邪恶的。你可以这样写:'const int max = 5;'。这更安全。 – QuasarDonkey