C语言(a=2,b=5,b++,a+b)这个括号表达式的值怎么算

如题所述

(a=2,b=5,b++,a+b)这个叫逗号表达式,其值为最后一个表达式a+b的值8。追问

如果是8,不是应该把表达式改成++b吗,怎么是b++

追答

不管是++b,还是b++,这都不影响整个表达的值。

追问

为什么不影响,b++不是应该先用b吗,计算完才把b的值+1

追答

b++,a+b
先算b++,彻底完成后才算a+b。

温馨提示:内容为网友见解,仅供参考
第1个回答  2012-02-12
1楼答案是对的,结果是8;
逗号表达式是从左到右运算,但是只返回最右边表达式的值,这条逗号表达式改成正常的语句:
a=2;
b=5;
b++;
result=a+b;// 假设该表达式的结果保存到result中
第2个回答  2012-02-12
计算步骤:
1、a=2
2、b=5
3、b++,结果b=6
4、a+b,结果为8
8即为整个表达式的值

C语言(a=2,b=5,b++,a+b)这个括号表达式的值怎么算
(a=2,b=5,b++,a+b)这个叫逗号表达式,其值为最后一个表达式a+b的值8。

C语言 变量都是整形 表达式(a=2,b=5,b++,a+b)的值
1、a=2 2、b=5 3、b++,结果b=6 4、a+b,结果为8 8即为整个表达式的值

...表达式(a=2,b=5,b++,a+b)的值是( )。 A. 7 B. 8 C. 6 D. 2_百度...
展开全部 假设所有变量均为整数,则表达式(a=2,b=5,b++,a+b)的值是( )。 A. 7 B. 8 C. 6 D. 2选Ba=2,b=5,a+b++,b变成6,a+b=2+6=8b=6,b++ 是代表b先参与运算 在进行++操作 这是指 在一行语句中 题目中你分成了两句 这样的话b++ 执行过后 在执行a+b 到a+b的时候b已经等于...

假设所有变量均为整型,则表达式(a=2,b=5,a+b++,a+b)的值是
c里面用逗号表示每个来运算,上式是运算完了再引用b的值,当然是2+6了。在C语言中,多个表达式可以用逗号分开,其中用逗号分开的表达式的值分别结算,但整个表达式的值是最后一个表达式的值。整型值可以用十进制,十六进制或八进制符号指定,前面可以加上可选的符号(- 或者 +)。如果用八进制符号,...

...C编程问题:假设所有数据均为整型,则表达式(a=2,b=5,b++,a+b)的...
1 逗号表达式从左向右算,表达式的值为8 2 printf("%d",sum);

变量均为整型,则表达式(a=2,b=5,a++,b++,a+b)值为多少?
a=2,b=5 a++=2 ,b++=5 这时 a=3,b=6 a++和++a的区别在于,a++是先将a的值赋值给整个a++,然后a再+1,而++a是先a+1再将a+1的值赋值给整个++a。最后 a+b=3+6=9

设变量a和b均为整型变量,表达式a=2,b=5;b++,a+b的值是 我知道答案...
首先a+b值是8 b++之后值是6,所以a+b=8 要说明的是在逗号表达式里面 不存在“先用后加”还是“先加后用 ”法则 也就是说++b 和b++在如果单独放在逗号表达式里的话(如你上面所写),这样的格式不存在先加还是后加原则 若不是(如:b++ + a,)这个单独作为逗号表达式的一项,就会存在先...

35. 若有定义:int a,b;则表达式(a=2,b=5,a*2,b++,a+b)的值是( )。
整体为逗号表达式,逗号表达式的值由最末项决定,即a+b a=2,b=5这两个子表达式分别将ab赋值为2和5 a*2子表达式没有任何副作用.不改变a的值 b++将b值自增1,成为6 所以2+6==8 或:逗号表达式从左向右依次计算,最终的值等于最后一个表达式的值。因此a=2,b=5,b++=6,a+b=2+6=8...

若有定义:int a,b; 则表达式(a=2,b=5,a*2,b++,a+b)的值是?
若有定义:int a,b; 则表达式(a=2,b=5,a*2,b++,a+b)的值是9。逗号表达式的结果是最后一个表达式的结果,因此a+b=3+6。INT - 取整函数Int()Int是将一个数值向下取整为最接近的整数的函数。INT是数据库中常用函数中的取整函数,常用来判别一个数能否被另一个数整除。Basic函数 1、原型 ...

int a=2,b=5; b=a++,b++,++b); printf(%d,a+b)得结果拜托各位大神
int a=2,b=5; b=a++,b++,++b; printf("%d",a+b); 解释: b=a++:b=2,a=3; b++:b=3; ++b:b=4; 结果: 7

相似回答