C语言第26题为什么

2025-01-01 06:59:36
推荐回答(2个)
回答1:

这道题主要疑点是b的值,对初学者来说比较容易出问题,该题主要考的是,语法掌握情况,现在逐句解释如下:

首先a=1 b=1 c=未知

a++ 将a自增1这时a=2 b=1 c=未知

b+1 这句没有任何意义,它只计算b+1但结果没有赋值给任何变量,毫无意义,到这里a=2 b=1 c=未知

c=a+b-- 主要是这句,执行过程是先把a+b的结果赋值给c,然后把b的值减去1,那么a+b等于3即c=3,b减去1,b=0

最终结果:a=2 b=0 c=3
选择B完成解答

最后解释一下:
如果是c=a+(--b)那就结果大不一样,那就是先将b的值减去1再和a相加结果赋值给c

回答2:

我为了看这个题目落枕了。
a = b = 1 这个语句 a和b都是1

a++ a增1, 此时 a成了2

b+1,这个表达式没有赋值,所以啥也没改变

c = a + b--, c的值是 2 + 1 ,也就是3, 同时b进行字减,成了1 - 1 也就是0,这是--的特性。