{nt b,k=0; for(i=1;i<=5;i++) {b=i%2; while(b-->=0) k++; } prind("%d,%d",k,b); }输出结果为
答案:2 悬赏:70 手机版
解决时间 2021-02-11 22:37
- 提问者网友:雪舞兮
- 2021-02-10 22:39
{nt b,k=0; for(i=1;i<=5;i++) {b=i%2; while(b-->=0) k++; } prind("%d,%d",k,b); }输出结果为8,-2?
最佳答案
- 五星知识达人网友:归鹤鸣
- 2021-02-10 23:20
对
是 8 -2
{int b,k=0;
for(i=1;i<=5;i++)
{
b=i%2;//b分别会取到 1,0,1,0,1
while(b-->=0) k++; 如果上一步b=1时这个循环会运行2次,如果是b=0则只会循环一次 因此在这个for循环里 k总共增加了 2+1+2+1+2次即8次 因此 k=0+8=8
注意这个while的条件。当b=-1时,条件会为false 跳出循环,但这时 b--会执行。因此b最终值为-2
}
prind("%d,%d",k,b); }
是 8 -2
{int b,k=0;
for(i=1;i<=5;i++)
{
b=i%2;//b分别会取到 1,0,1,0,1
while(b-->=0) k++; 如果上一步b=1时这个循环会运行2次,如果是b=0则只会循环一次 因此在这个for循环里 k总共增加了 2+1+2+1+2次即8次 因此 k=0+8=8
注意这个while的条件。当b=-1时,条件会为false 跳出循环,但这时 b--会执行。因此b最终值为-2
}
prind("%d,%d",k,b); }
全部回答
- 1楼网友:底特律间谍
- 2021-02-11 00:35
b呢,是因为一定要执行b-->=0 所以,b一定能变成-1 执行(-1)-- 之后 b变成 -2,所以,b就输出-2 至于i i做5次,三个奇数,两个偶数 所以,b有两次是0,三次是1 b是·1的时候,k加2次 b是0的时候,k加1次 所以,最后k为 8
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯