【发布时间】:2016-07-06 16:40:42
【问题描述】:
所以我刚刚写了下面提到的程序:
#include<stdio.h>
int main()
{
int a, b = 120;
a = -b--;
printf("a = %d, b = %d", a, b);
return 0;
}
输出是 a = -120, b = 119 ,这对我来说很好,但是当我稍微修改运行上述程序时,它会给出一些奇怪的结果。
#include<stdio.h>
int main()
{
int a, b = 120;
a = b--- *// strange here , because program run without semicolon here.*
printf("a = %d, b = %d", a, b);
return 0;
}
我想知道为什么这个程序能够运行,即使我没有关闭语句,我也没有看到任何错误。
编辑:如果没有分号,那么对于编译器来说,它意味着相同的语句,直到它看到分号。
【问题讨论】: