滴水逆向联盟
标题:
判断循环结束和提前结束
[打印本页]
作者:
夺命书生
时间:
2014-11-17 08:49
标题:
判断循环结束和提前结束
在程序中,通常会用到循环结构来反反复的执行某一语句,但是不能够无限的的执行下去否则就会出现死循环,程序无法终止,那么如何判断循环结束于提前结束呢?
一般情况下,判断循环结束,可以由循环条件进行判断,循环语句都有判断循环结束的表达式,
如:while 中 while(x>10 && x<50) 中的表达式, x>10 && x<50 ,再如:for(i=i;i<10;i++)
当表达式中 i<10 条件不成立时就会结束循环,或者使用 break 来跳出循环。
例如:
#include<stdio.h>
int main()
{
int a=0,n;
printf("enter n:\n");
scanf("%d",&n);
while(1)
{
a++;
n--;
printf("%d\n",a*a);
if(n==0)
{
break;
}
}
return 0;
}
复制代码
输入一个n值,当n值自减到0,或n的值为0时,则会执行break语句跳出循环。
判断循环体正常结束还是提前结束,通常是在循环语句的后面,再用一个或多个判断语句,检查循环变量的取值,
如果循环条件由多个循环变量构成,则可以对各个变量分别进行判断,下面通过例子来说明:
#include<stdio.h>
int main()
{
int i,a;
printf("please input:\n");
scanf("%d",&a);
for(i=2;i<a;i++)
{
if(a%i==0)
{
break;
}
if(i==a)
{
printf("素数");
}
else
{
printf("不是素数\n");
}
}
return 0;
}
复制代码
上面的代码用于判断一个数,是否为素数,程序中的循环语句正常结束时当 i 大于a 的时候,
但 a 不能被 i 整除时,循环就会提前结束,故在循环语句后面添加一条判断语句,以提前结束循环。
在程序中一个完整的循环包括三部分, 循环入口 循环体 循环出口,如果程序没有循环出口,那就是死循环
除非某些特定的环境需要使用到死循环,否则死循环么有实际意义。
作者:
大灰狼
时间:
2014-11-17 09:31
顶。。。。。。。。。。。。。。。。。。。。。。。
作者:
大禹治水
时间:
2014-11-18 10:50
不错哦,继续。。。。。。。
欢迎光临 滴水逆向联盟 (http://dtdebug.com/)
Powered by Discuz! X3.2