c语言中 若 a=b+1=c+=d+=e; 执行顺序?

如题所述

这个式子应该是错误的吧,对于赋值号,左值不能是表达式,错在b+1;
如果式子是a=b+=c+=d+=e;
那么它等价于:
d=d+e;
c=c+d;
b=b+c;
a=b;
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-04-26
一个等号是赋值.

d=d+e;
c=c+d;
b+1=c;
a=b+1;
结束;

c语言中,运算符+=的运算顺序是怎样的?
1、+号,正号,优先级最高 2、==号,判等,优先级其次 3、=号,赋值,优先级最低 因此,应该是如下的计算顺序 先计算+3 == 2,这是一个逻辑判等,为假,C语言使用0表示假,即该表达式的值为0 然后计算x = 0,赋值运算,所以最后x = 0 ...

C语言a = b++问题
实际上a=b++;可写为a=b;b=b+1;所以语句改成a = (b++)是没有任何区别。c语言规定后加,如果在表达式中,则一定是先完成表达式的计算,再进行自加。就是我们经常在教学中给学生讲的“先操作,在自加”,而前加则是“先自加,再操作”。

c语言中运算符有哪几种,优先级顺序是怎样
C语言中,运算符除了常见的三大类,算术运算符、关系运算符与逻辑运算符之外,还有一些用于完成特殊任务的运算符。运算符的运算优先级共分为15 级,1 级最高,15 级最低。 在表达式中,优先级较高的先于优先级较低的进行运算。而在一个运算量两侧的运算符 优先级相同时,则按运算符的结合性所规定...

c语言中的++在前++在后有什么区别
int i=0;printf("%d",++i);i加了1才给传递参数,所以输出是1 i=0;printf("%d",i++)前传递参数,所以还是输出原来的值是0 printf("%d,i) 因为上面那句加了1所以 输出是1

C语言中的“ a=b+=c++-d+--e\/-f”是什么意思
上面可以看作是:a=b=b+(c++)-d+(--e)\/-f 其中你要懂得++和--的用法,首先,对于单个数的++或者--都是一个意思,你可以认为是加1或者减1.例如:a++=a+1,++a=a+1,a--=a-1,--a=a-1 但在算式中就有区别了:1、b=a++ 这里的++符号是在数字后面的,所以这里是先完成整个...

C语言中a=b++和a=++b有区别吗
有区别 a = b++ (后加)其实是相当于 a = b b = b + 1 a = ++b (先加)则是相当于 b = b + 1 a = b

c语言 c=a+=b++ 怎么算??
c语言的运算是从右到左的。在这里我们可以先赋两个个值t1,t2,先把b++的值赋给t1,然后就是计算a+=t1,这就是把a+t把1的值再赋给t2,最后结果就是c=t2,即t2赋给c。所以综合起来就是c=a+(b+1)

C语言中+a+=b+=c+d=12是什么意思?
在 C 语言中,`a += b += c + d = 12` 是一条赋值语句,它将对 `a`、`b` 和 `c + d` 进行赋值操作。具体来说,该语句的执行顺序如下:1. 首先计算 `c + d` 的结果,即 `c + d = 12`。2. 然后将 `12` 赋值给 `b`,即 `b = 12`。3. 然后将 `b` 的新值 `12...

C语言a=a++的运算顺序是怎么样的?
这两个程序的输出结果是相同的:因为它们的操作都是:先取变量a的值,取完后a自增,最后取前面取到的值赋值给赋值号左边的变量(所以最后输出变量的值就都是1)。

c语言 a+++b+c+++d++ 的运算过程 a=0 b=1 c=2 d=3
答案是6 可以看成如下式子:a+++b+c+++d++ =(a++)+b+(c++)+(d++)=0+1+2+3=6

相似回答