【发布时间】:2013-09-09 11:53:53
【问题描述】:
有一段代码产生“需要左值”的错误。代码如下,
#include<stdio.h>
#include<conio.h>
#define max 10
int main()
{
printf("%d",max++);
return 0;
}
显然左值错误会出现在上面的代码中,所以我将代码更改为
int a;
printf("%d",a=max++);
我认为现在常量的值已分配给适当的变量,但仍然出现错误。然后我检查了
printf("%d",a=max+1);
它没有任何错误。第二段代码有什么问题?
【问题讨论】:
-
你对
10++有什么期望? -
这是新事物。 +1。
-
但是,
(a=max)++会编译。