执行下面的程序后,a的值为_______ main() { int a,b; for (a=1,b=1;a<=100;a++) { if(b>=20)

执行下面的程序后,a的值为_______ main() { int a,b; for (a=1,b=1;a<=100;a++) { if(b>=20),第1张

第一次:执行if之前:a=1,b=1执行b+=3=1+3=4continue(作用是:跳过“b-=5

”等之后的语句,继续循环)

第二次:执行if之前:a=2,b=4(b在上一次被赋值);继续执行“if

(b%3==1)

”(因为4%3=1);b=7continue

第三次:......(同上,依然是b%3==1)。

第四次:......(同上)。

。。。。。。

第七次:b=19

执行“if

”后:b=22。

第八次:b=22;b>=20;执行break(作用是:结束整个循环)。

所以:a=8。整个过程由于b%3始终为1,故b-=5始终没有执行。

首先b=1,a=1时,b%3==1为真,执行b+=3则b=4。又continue 跳过b-=5开始下一次循环,执行a++;则a变为2。

当b为4时,b%3==1为真,执行b+=3则b=7。a变为3;

。。。。。。。。。。。。

可知b分别为10、13、16、19时,a分别为4、5、6、7、8

下次循环时,b为22,执行break;跳出循环,所以a为8

int

a=5,b=6,w=1,x=2,y=3,z=4

(a=w>x)&&(b=y>z)

解释:对于前面w>x是假的,所以a被赋值为0但是对于整个逻辑式来说有一个0那么"与"的逻辑已经是0了,所以后面的表达式就不运行,所b的值还是6.


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7734078.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-09
下一篇 2023-04-09

发表评论

登录后才能评论

评论列表(0条)

保存