作业帮 > 综合 > 作业

设有整型变量a,b,c,他们的初始值都是1,运行表达式:++a && ++b && ++c 后,a,b,c,的值分别为?

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/11 04:03:21
设有整型变量a,b,c,他们的初始值都是1,运行表达式:++a && ++b && ++c 后,a,b,c,的值分别为?
(1)表达式:++a && ++b && ++c 是一个逻辑表达式,当表达式的各个操作数,均非零时,表达式的值为1,否则为0;
(2)在计算上式,逻辑表达式的时候,各个对象都要进行运算,而你进行的是++运算,a++等价于a=a+1,所以每个变量都加了1,所以最后a,b,c的值均为2
再问: 谢谢啊,我一开始也是这样做的!可是人家给的答案是2,1,1,
再答: 答案是错的,我就是教C语言的大学教师!你可以在VC++中运行一下,没有任何问题! 如果你把逻辑运算符改一下,变成:++a || ++b || ++c ,那么这个时候的答案就是2,1,1
再问: 抱歉!题我看错了,他们初始值都是—1,那现在该怎么算能帮我讲讲吗
再答: 如果给的初始值是-1,那答案就应该是a=0,b=-1,c=-1. ++a && ++b && ++c 是一个逻辑表达式,当表达式的各个操作数,均非零时,表达式的值为1,否则,只要有一个表达式的值为0,结果就为0,这是运算规则,那么也就是说,当第一个表达式为0时,后两个表达式不论等于多少,最后整个表达式的值都会为0,所以当初始值a=-1,++a为0,在这种情况下,计算机不会对后两个表达式参与运算,所以即使写了++b ,++c,但是计算机并没有对它参与运算,这又叫做逻辑短路。 最后,别忘了,给我一个大拇指(最佳答案)!