假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是

假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是

A.7 B.8 C.6 D.2

我想问,去到b++那里,b不是先赋值b=b,然后再b+1吗,这时候不是b还是等于5吗。。?

你说的那个时候b=6,b++ 是代表b先参与运算 在进行++操作 这是指 在一行语句中 题目中你分成了两句 这样的话b++ 执行过后 在执行a+b 到a+b的时候b已经等于6

在C语言中,多个表达式可以用逗号分开,其中用逗号分开的表达式的值分别结算,但整个表达式的值是最后一个表达式的值。

这个题可以理解为(a=2,b=5,c=b++,a+c)
b++等于6之后,再运算的a+b

最终a+b=8。如果int i=b++,i为5;如果int i = ++b,i为6。但不管何种情况b的值都自增了1,所以b的值应为6。

语句以逗号分开,是依次进行运算,现在不是5,而是6

你要是在b++处 这样写 int c = b++;
此时的c 是5

不是b+1而是自增1

B~~~~~~~~~~

自己写一个程序调试下就知道了

写个程序,多找几个这样的例子你就明白了

有这样一句话,你就明白了:a++是先干活后自增(遇到分号就干完活了),++a是先自增后干活。所以这道题的答案是7