大一C语言追加50求解第21题解析
1个回答
展开全部
程序根据输入进行工作, 循环输入x值,到0值时,while(x)判断不成立,退出循环。
对于输入 -1 1 -2 2 0, x值依次为-1 1 -2 2 0.
对于每个x 先做
t=x>0; 这个是先判断x>0,如果成立,t为1,否则t为0.
即 当x=-1 -2 0时,t=0; x=1,2时,t=1;
接下来switch, t为0时,switch不做操作, 退出switch后,执行z+=x; 于是 z累加的,就是t=0时x各个值。于是 z=-1 + -2 + 0= -3
t为1时,执行y+=x; 之后continue,继续下次循环,不会执行后续的z+=x;
于是y=1+2=3
最终输出y,z值,结果为
3,-3
选C
对于输入 -1 1 -2 2 0, x值依次为-1 1 -2 2 0.
对于每个x 先做
t=x>0; 这个是先判断x>0,如果成立,t为1,否则t为0.
即 当x=-1 -2 0时,t=0; x=1,2时,t=1;
接下来switch, t为0时,switch不做操作, 退出switch后,执行z+=x; 于是 z累加的,就是t=0时x各个值。于是 z=-1 + -2 + 0= -3
t为1时,执行y+=x; 之后continue,继续下次循环,不会执行后续的z+=x;
于是y=1+2=3
最终输出y,z值,结果为
3,-3
选C
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询