关于c语的简单问题

来源:百度知道 编辑:UC知道 时间:2024/06/18 11:18:46
请给出下述程序的输出结果
#include<stdio.h>
main()
{
int a,b;
for(a=1,b=1;a<=100;a++)
{
if (b>=20)
break;
if(b%3==1)
{
b+=3;
continue;
}
b-=5;
}
printf("%d,%d\n",a,b);
}
continue不是立刻进行最内层循环吗?那应该是死循环啊!我最开始的答案是1,22,请高人解答

不就一个 for 循环么?为什么是死循环?continue 跳过其后的语句直接进入下次循环 ,结果应是 8 ,22 。b = 22 时才退出循环 ,此时 a++ 执行 7 次 ,
b -= 5 ; 这条语句一次也不执行 ,b%3==1 这个条件总是成立的 ,所以每次都执行了 continue; 语句

应该少了个b++吧

8,22