请告诉我这段代码的答案?

时间:2014-12-30 09:43:52

标签: c

我让这段代码困扰了我一段时间。第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;
    }

2 个答案:

答案 0 :(得分:2)

在C中,预增量(减量)和后增量(减量)运算符需要L值表达式作为操作数。提供R值或const限定变量会导致编译错误。

  

左值是可以分配的值。

答案 1 :(得分:2)

/ *什么是c * /

的值

这很容易回答:你的问题没有任何意义。

由于您的代码无法编译,因此c不会有&#34;值&#34;。