
while循环中的continue语句-?
#include<stdio.h>intmain(){inti,n;i=1;while(i<=10){if(i%3==0)continue;printf("%d",i);...
#include<stdio.h>
intmain()
{
inti,n;
i=1;
while(i<=10)
{
if(i%3==0)continue;
printf("%d",i);
i++;
}
return0;
}
为什么是1和2啊输出的,哪位大佬帮帮忙 展开
intmain()
{
inti,n;
i=1;
while(i<=10)
{
if(i%3==0)continue;
printf("%d",i);
i++;
}
return0;
}
为什么是1和2啊输出的,哪位大佬帮帮忙 展开
2个回答
展开全部
1和2输出后就是i=3,就一直continue,走不到i++,就死循环了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
首先要了解continue这个关键词在程序中的含义:
在循环语句的结构中,while(或for)语句后面花括号内的语句组成“循环体”。一般来讲,每循环一次,循环体的所有语句按照先后顺序全部执行一遍。
如果循环体中含有continue语句,一旦某一次循环时,程序执行到了continue,本次循环就不会执行后面的所有语句,而回到while或for那一句进行下一次循环。
本例的循环体中,含有一个continue语句。运行i=1、i=2时,因为if语句的条件不成立,不会执行continue,程序会往下运行,即分别打印1和2,并且i加上1(自增)。但是,当第三次循环时,i=3,if条件成立,执行continue,就不会打印3,也不会i自增,就回到while语句,此时i仍然=3,又去执行continue,再回到while,……,如此反复,成了死循环。
所以,程序只打印1和2,不会再打印了。
要改变这种现象,可以考虑做以下修改:
①把i=1改成i=0;
②去掉i++整行;
③把while一句改为:while(++i<=10)。
程序就能正确运行了。
有什么问题请留言。
在循环语句的结构中,while(或for)语句后面花括号内的语句组成“循环体”。一般来讲,每循环一次,循环体的所有语句按照先后顺序全部执行一遍。
如果循环体中含有continue语句,一旦某一次循环时,程序执行到了continue,本次循环就不会执行后面的所有语句,而回到while或for那一句进行下一次循环。
本例的循环体中,含有一个continue语句。运行i=1、i=2时,因为if语句的条件不成立,不会执行continue,程序会往下运行,即分别打印1和2,并且i加上1(自增)。但是,当第三次循环时,i=3,if条件成立,执行continue,就不会打印3,也不会i自增,就回到while语句,此时i仍然=3,又去执行continue,再回到while,……,如此反复,成了死循环。
所以,程序只打印1和2,不会再打印了。
要改变这种现象,可以考虑做以下修改:
①把i=1改成i=0;
②去掉i++整行;
③把while一句改为:while(++i<=10)。
程序就能正确运行了。
有什么问题请留言。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |