c语言程序出现死循环

c语言程序出现死循环,第1张

测试下面的代码

#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语言做一个死循环有多少种方法,其中哪个方案最好等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10163069.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存