【发布时间】:2014-10-17 20:48:06
【问题描述】:
谁能解释一下程序中的编译错误
#include<stdio.h>
int main()
{
int i = 10;
printf("%d", ++(-i));
return 0;
}
【问题讨论】:
-
-i根本不是左值,而是右值。 -
++(-i)=>++(-10): 不能将增量的结果赋给-10。 -
有趣的是,这个问题与this question... 几乎是完全重复的……除了它是从 C++ 移植到 C 的。
-
@DarkDust:现在完全复制了。
标签: c increment lvalue rvalue pre-increment