C语言 表达式(a=5,b+=a++,a)的值是?

怎么计算?

从左往右依次算,结果是最右边一个表达式的值,即最后结果为a的值6
温馨提示:内容为网友见解,仅供参考
第1个回答  2020-03-17
没法算,b没有初始化。

C语言 表达式(a=5,b+=a++,a)的值是?
从左往右依次算,结果是最右边一个表达式的值,即最后结果为a的值6

int a=5; b= a++, c= a++;结果
1.a首先被赋予5这个值。2.++在前面是先加后算,所以a先自增为6,这时候5就已经没有了。3.a自增过后,b被赋予运算过后的a,也就是6了。4.因为逗号表达式(括号中多个逗号的就是逗号表达式,一般最后计算)的值总是取括号中的最后一个,所以x取b的值,还是6。不信可以自己写程序试试……扩展...

...stdio.h" void main() { int a=5,b;b=(++a)+(++a); printf("%d...
b=(++a)+(++a);即先执行最右面的++a,得到a的结果为6.然后再计算第一个++a,此时的计算基础为6,得到结果为7.这时前后结果就是两个7相加。所以结果为14.这里要注意的就是要把a看成是一个主体。不要用6和7相加,要知道任意一步对a的操作都会影响a的值。理解了吗?

int a=5,b;b=(++a)+(a++),怎么计算?
a++;所以最后 b=a+a==6+6==12;\/\/因为a自增了一次后就用a的值,所以此时a的值是6 a==7;\/\/再自增一次,就从6变成7

inta=5 intb=a++ a为多少
我觉得saiter2306已经说清楚的啦 ++a和--a在各类运算符中的优先级最高,也就是表达式中先计算++a和--a。这道题来看:先运算++a,也就是a=a+1,此时a=6;再运算--a,也就是a=a-1,此时a=5;这样以后整个表达式就变为了b=a*a,那么b=25 ...

int a=5,b=(++a)+(++a)+(++a)怎么计算?
return 0;}结果:在表达式中的“()”优先级高于“+”所以(++a)+(++a)会优先执行++a两次,此时a为7,而(++a)整体值也为7,然后执行“+”也就是7+7=14 (++a)+(++a)+(++a)执行顺序相同,表达式最终值为8+8+8=24 a是一块空间存储的值,不可能同时又是6又是7又是8,所以...

int a=5,b b=(++a)+(++a),为什么b是14
int a=5,b;b=(++a)+(++a);由于++在变量的前面,所以应该先让a变量自增,再用自增后的值 由于有两个++a 所以 b=(++a)+(++a);这句相当于三句:++a;++a;b=a+a;上面两句运行完之后,a的值肯定是7,因为自增了两次 所以最后 b=a+a=7+7==14 ...

语句x = (a = 5, b = ++a); 运行后,x、a、b的值依次为?
4.因为逗号表达式(括号中多个逗号的就是逗号表达式,一般最后计算)的值总是取括号中的最后一个,所以x取b的值,还是6。不信可以自己写程序试试……扩展一下,考虑下面这个表达式:int x,a,b,c;x = (a = 5, b=a++,c=++a,456,789);\/\/肯定先从括号中开始算起。\/\/a刚开始等于5 \/\/b=...

在C语言的环境下,a=5;b=a++;c=--a-b++;d=(a++)-(++b)+c--;结果是多少...
首先进行第一步“a=5”:将5赋给a,这样实现了a=5 然后进行第二步“b=a++”,由于++为后缀,所以先将a值赋给b,结果b=5,然后进行a++运算,a=6 然后进行第三步“c=--a-b++”,首先--为前缀,所以先运算--a,结果a=5,由于++为后缀,所以接下来先运算c=a-b,结果c=5-5.为0,...

请问c语言中a=b=5,b=a++后那么b的值是多少呢。谢谢啊如果是换成b=++a...
如果b=a++; 那么就是先把a的值赋给b,然后a=a+1,也就是说此时b=5;如果换成++a的话,那就是先执行++a,即a=a+1,然后再把改变以后的a的值赋给b,即b=6。可以查一下各运算符的优先级确定哪个运算先执行。

相似回答