我让这段代码困扰了我一段时间。第7行的表达让我感到不安。是给0还是-1。如果它的0然后答案是2,否则答案是4.
/ *如何在第7行表达式* /
中找到c的值#include<stdio.h>
int main()
{
int a,b,c=1;
a=b=c; // a,b,c have equal value
c=b+=a=-c; // what will be the output of this expression?
c=-c;
c=(++c)*2;
printf(“%d”,c);
return 0;
}
答案 0 :(得分:2)
在C中,预增量(减量)和后增量(减量)运算符需要L值表达式作为操作数。提供R值或const限定变量会导致编译错误。
左值是可以分配的值。
答案 1 :(得分:2)
/ *什么是c * /
的值这很容易回答:你的问题没有任何意义。
由于您的代码无法编译,因此c不会有&#34;值&#34;。