首页 > 计算机 > 计算机二级 正文

有以下程序:main(){ int x=0,y=5,z=3;wh

时间:2021-07-13 03:51:08 解答: 267 次

问题:

[单选] 有以下程序:

main()

{ int x=0,y=5,z=3;

while(z-->0&&++x<5)y=y-1:

printf(”%d,%d,%d\n”,x,y.z);

}

程序执行后的输出结果是(  )。

A . 3,2,0

B . 3,2,-1

C . 4,3,-1

D . 5,2,5

正确答案:

B

参考解析:

while语句执行如下: 当z=3,x=0时,表达式z一一>0&&++x%5为真,Z的值变为2,X的值变为l,执行语句“y=y-1;”,Y的值变为4; 当z=2,x=1时,表达式z一一>0&&++x<5为真,z的值变为1,X的值变为2,执行语句“y=y-1;”,y的值变为3; 当z=1,x=2时,表达式z一一>0&&++x<5为真,z的值变为0,X的值变为3,执行语句“y=y-1;”,Y的值变为2; 当z=0,x=3时,表达式z一一>0为假,表达式(z一一>o&&++x%5)为假,Z的值为-1,不进行++x<5的判断,不执行语句y=y-1;; 所以X的值为3,Y的值为2,z的值为-1。答案为B。

请充值VIP继续使用(未注册用户支付后会自动注册登录)

×

95元 29元

VIP截止日期:2024-12-31 00:22:38

←请使用支付宝扫码支付

95元 29元

VIP截止日期:2024-12-31 00:22:38

←请使用微信扫码支付