C语言:代码如下,为什么运行结果是8,-2,求详解
发布网友
发布时间:2024-01-06 22:54
我来回答
共2个回答
热心网友
时间:2024-01-07 03:14
i=1,b=1%2=1>0,k=0+1=1
执行b--,b=0,k=1+1=2,执行b--,b=-1,不满足b≥0,执行b--,b=-2,继续关于i的循环。
i=2,b=2%2=0,k=2+1=3
执行b--,b=-1<0,不满足b≥0,执行b--,b=-2,继续执行关于i的循环。
i=3,b=3%2=1>0,k=3+1=4
执行b--,b=0,k=4+1=5,执行b--,b=-1,不满足b≥0,执行b--,b=-2,继续关于i的循环。
i=4,b=4%2=0,k=5+1=6
执行b--,b=-1<0,不满足b≥0,执行b--,b=-2,继续执行关于i的循环。
i=5,b=5%2=1>0,k=6+1=7
执行b--,b=0,k=7+1=8,执行b--,b=-1,不满足b≥0,执行b--,b=-2,继续关于i的循环。
i=6,不满足循环条件,退出循环。
循环结束后,k=8,b=-2
输出k、b的值,输出8,-2
热心网友
时间:2024-01-07 03:14
for(i=1;i<=5;i++):i=1~5循环5次。
b=i%2; b赋值5次,分别是1,0,1,0,1
while(b-->=0) k++;b=0时,k加1次;b=1时,k加2次,最后k=8。循环最后一次,b=-1,不执行循环体,还要减1,最后b=-2