c程序问题,请帮助
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",a);
}
答案是8,为什么?
参考答案:a的取值范围规定了最多循环次数为100,且当b超过20的时候退出循环。b从1开始每次+3,当到第七次时b的值为22,再循环时发现b超过了20,跳出循环!
a的值等于1+7=8~~
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",a);
}
答案是8,为什么?
参考答案:a的取值范围规定了最多循环次数为100,且当b超过20的时候退出循环。b从1开始每次+3,当到第七次时b的值为22,再循环时发现b超过了20,跳出循环!
a的值等于1+7=8~~