测试下面的代码
#include<stdioh>
#include<stringh>
int main()
{
char a[81];
int i=0,j=0;
while ((a[i]=getchar())!='\n')
i++;
a[i]='\0';
printf("%d %d \n %s\n",i,j,a);
while (a[j]=='0'&&a[j+1]!='\0')
j++;
printf("%d %d \n %s\n",i,j,a);
if (j!=0)
for (i=0;i<=(strlen(a)-j);i++)/不建议这样写i<=(strlen(a)-j),
因为这是个动态的字符串,最好先求出字符串的长度在放进去,
二来更有效率,不用每次都计算字符串的长度/
a[i]=a[i+j];
printf("%d %d \n %s",i,j,a);
fflush(stdin);//清除缓冲
getchar();
return 0;
}
运行结果
输入为第一行的数据
运行没异常!不知道你用的编译器是什么绿色版精简版我使用的是vs2010
你说死循环是有利的我同意,因为有的时候就是要用到死循环,当循环执行一个方法的时候,你自己都不知道要执行多少次的时候就用到了死循环,在里面加上判断,如果达到了条件就break出来,说个最简单的例子吧,控制台程序,不停的生成计算题供小朋友计算,这样不就用到死循环了吗
1 主要分为两种:使用for语句的和使用while语句的。不给出循环终止条件时便是死循环。
2 这两种方案没有好坏之分,因为其都可以达到想要的效果,但有简洁之分。比较简洁的如下
for (;;);while (1);3 扩展:
在编程过程中,死循环是要避免的
C语言中死循环怎么解决?
首先应该将对应的退出条件置为恒为真,然后按照“while循环”“for循环 ”“do-while循环”三个循环模式分别描述。
在这个过程中,还要注意管理好循环控制变量,使while 的条件有机会为FALSE,或在循环体中加入break,并使它有机会执行。
另外,也可以设置循环计数变量。为了防止程序出现死循环,最好是自习检查程序,保证逻辑正确。如果不放心的话,可以设置循环计数变量,嵌入循环,当溢出上限时停止程序并报错。
需要说明的是,死循环尽量少用。如果一定要用死循环,也要在循环体内设置退出条件(break)。
是死循环。因为while语句中的循环变量i没有更新。
其实在matlab中,矩阵的运算功能非常强大,而且速度奇快。建议一般不是迫不得已不要使用循环语句,因为它运行循环语句比直接 *** 作矩阵速度慢很多。
这里是一个非常简单的实例,上例中的目的是为了统计向量a中不超过7的个数,下面的程序或许运行的效率更高:
a=[1 2 3 4 5 6 7 8 9];
b=a<=7;
c=sum(b);
这里采用矩阵的关系运算很容易达到目的。
private sub command1_click() '按钮的单机事件 dim i as integer '定义一个整型变量i i=1 '给i赋值为1 do while i<100 '如果i<100则进入循环 i=i1 '每次循环 i 的值都等于i1,也就是其本身 loop '如果i的值小于100则继续循环end sub '过程结束
for(i=1;;i++)
{
if(++i%2==0) continue;//因为每次循环都执行这个语句,不执行下面语句,进而执行下一次循环
if(++i%3==0) break; //这一句永远也不执行,所以跳不出循环,出现死循环了。
}
以上就是关于c语言程序出现死循环全部的内容,包括:c语言程序出现死循环、请教一个含有死循环代码的程序例子 C#谢谢、用c语言做一个死循环有多少种方法,其中哪个方案最好等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)