main( ){int a,b;for(a=1,b=1;a=20)break;if(b%3==1){b+=3;conti

问题描述:

main( )
{
int a,b;
for(a=1,b=1;a=20)
break;
if(b%3==1)
{
b+=3;
continue;
}
b-=5;
}
printf("a=%d\n",a);
}
8
1个回答 分类:综合 2014-11-15

问题解答:

我来补答
我在源码中给你加了一些打印信息,你可以运行试一下.注意观察每次循环时a、b的值的变化.

在循环中b的值每次都加3,从1到22.加了7次.第8次时发现b>20,一次退出循环.
main( )
{
int a,b;
for(a=1,b=1;a=20){
printf(" return b = %d ,a = %d ",b ,a);
break; //如果满足条件就退出循环
}
if(b%3==1) // b的初始值为1,所以每次循环都会执行“b+3”
{
b+=3;
printf(" b = %d \n",b);
continue; // 跳出循环,进入下一次循环.就是不执行循环体下面的语句.
}
printf(" b - 5 \n ");
b-=5;
}
printf("a=%d\n",a);
}
 
 
展开全文阅读
剩余:2000
上一页:关于ATP```````