当前位置:首页 » 编程语言 » c语言死循环的程序

c语言死循环的程序

发布时间: 2022-04-23 07:56:41

‘壹’ c语言程序出现死循环

测试下面的代码

#include<stdio.h>

#include<string.h>

intmain()

{

chara[81];

inti=0,j=0;

while((a[i]=getchar())!=' ')

i++;

a[i]='';

printf("%d%d %s ",i,j,a);

while(a[j]=='0'&&a[j+1]!='')

j++;

printf("%d%d %s ",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 %s",i,j,a);

fflush(stdin);//清除缓冲

getchar();

return0;

}


运行结果


输入为第一行的数据

运行没异常!不知道你用的编译器是什么?绿色版精简版?我使用的是vs2010

‘贰’ 关于C语言死循环程序

不知道我改后行不行,你自己再改改,主要是因为数组的下标越界
比如int a[5] ,它的元素是a[0]~a[4],千万要注意啊,还有
if(d=1)这个语句是永真的,要判断d是不是等于1
if(d==1)
#include<stdio.h>

main(){
int i,j,a,b,c,d,flag;
int flag1[5]={0,0,0,0,0};
int k[5][3];
int Available[3]={3,3,2};
int All[3]={10,5,7};
int Allocation[5][3]={0,1,0,2,0,0,3,0,2,2,1,1,0,0,2};
int Max[5][3]={7,5,3,3,2,2,9,0,2,2,2,2,4,3,3};
int Need[5][3]={7,4,3,1,2,2,6,0,0,0,1,1,4,3,1};
int Finish[5]={0,0,0,0,0};
for(d=0;d<5;d++)
{
for(i=0;i<5;i++)
{
j=0;
flag=1;
if(d==0)
{
while(j<3)
{
// k[i][j]=Available[j]-Need[i][j];
if((Available[j]-Need[i][j])<0)
{
flag=0;
flag1[i]=i;
printf("99999999");
break;
}else
{
j++;
}
printf("%d",j);
}
}

}
}
return;
}

‘叁’ C语言中死循环怎么解决

C语言中死循环怎么解决?

首先应该将对应的退出条件置为恒为真,然后按照“while循环”“for循环 ”“do-while循环”三个循环模式分别描述。

在这个过程中,还要注意管理好循环控制变量,使while 的条件有机会为FALSE,或在循环体中加入break,并使它有机会执行。

另外,也可以设置循环计数变量。为了防止程序出现死循环,最好是自习检查程序,保证逻辑正确。如果不放心的话,可以设置循环计数变量,嵌入循环,当溢出上限时停止程序并报错。

需要说明的是,死循环尽量少用。如果一定要用死循环,也要在循环体内设置退出条件(break)。

‘肆’ 在C语言里,正在执行的死循环怎么跳出

1、C语言中,强制终止死循环可以用CTRL+BREAK组合键或者CTRL+C组合键。
2、命令解释:
CTRL+BREAK 设置或清除 DOS 系统的扩展。CTRL+C 检测这个命令是为了与 DOS 系统的兼容而保留的,在 Windows里不起作用。如果命令扩展被启用,并且操作平台是Windows,BREAK 命令会在被调试程序调试时输入一个硬代码中断点。
通过CTRL+BREAK组合键或者CTRL+C组合键能够实现中断死循环。

‘伍’ C语言到#结束,但为什么我的程序会陷入死循环啊

因为是在while前输入的数据,循环过程中这个数据一直存在。

  1. 把scanf("%f%c%f",&a,&b,&c); while(b!='#'){改成while(scanf("%f %c%f",&a,&b,&c)==3 && b!='#'){。

  2. 把所有的continue;删除。

‘陆’ C语言死循环怎么办

先关了死循环的程序,在把改程序修改,主要是要找到循环的终止条件,找出要满足你程序的一个条件,把它卸载循环内的话,用if 语句判断之后,满足你的限制条件之后,用 break,跳出循环,如果是用 for 循环,可以再循环的时候就设置循环的终止条件,for(AAA;BBB;CCC), 中的 表达式 BBB ,就是循环的终止条件;当然,在 for 循环中,可以省略表达式 BBB ;即 for(AAA; ; CCC) 并在循环体内,同样,用 条件判断,break跳出循环,总之,最主要的是,在你这个循环体内,要找出满足你程序的某些条件,用它来作为循环的限制条件。如:要找出1~100 之间的素数,那有一个限制条件就是 for(Int i=2,i<=100; i++) 其中的i<=100就是限制条件啦!^_^

‘柒’ C语言程序死循环

问题出在了这一句。
scanf("=%d",&b);
你之前输入了一个数字之后,有一个回车,在这里就永远匹配不到“=”了,所以死循环。改成
scanf(" %d",&b);
之前加一个空格来吸收回车就好了。
源码如下:
#include "stdio.h"
#define a 10
int main(void)
{
int b,c;
printf("请输入一个数\n");
scanf("%d",&b);
while(b>0)
{
c=b+a;
printf("你输入的数%d加十=%d\n",b,c);
scanf(" %d",&b);
printf("这玩神马点的\n");

}
printf("game ovre");
return 0;
}

‘捌’ C语言中的死循环是什么意思啊

死循环是循环条件永远能够得到满足,循环永远进行下去。这种循环一旦进入就出不来了
所以要设置跳出条件

‘玖’ 急!!c语言出现死循环,如何解决

这要看你输入什么了。有一个要点:scanf()的返回值是它成功读入值的个数。如果你第一次输入一个整数,那么第一个scanf函数会成功读入一个整数,它的返回值就是1,即ret的值是1。那么for循环的关系表达式:ret!=1就不成立,整个循环就不会执行,程序直接停止。如果你第一次输入了非整数,那么第一个scanf函数成功读入的值就是0,它返回0,即ret = 0。此时for循环的关系表达式:ret!=1成立,for循环才会开始迭代。如果你的程序执行的时候一直在打印,不给你输入的机会,说明你清空输入缓冲区的函数fflush没起作用,缓冲区里保存的第一次非法输入一直都在。你把 fflush(stdin); 改成: while(getchar()!='\n'); 就好了。

‘拾’ C语言中程序如:for( ; ;);为什么是死循环

for( ; ;);是一个典型的简介的死循环。

解释如下:

  1. 所谓循环就是让计算机重复执行一段代码;

  2. 循环的核心有两个部分:循环控制、循环体;

  3. 循环控制部分的循环结束条件如果永远成立,将会导致一直循环,俗称”死循环“;

  4. 上面的程序:最后的分号,表示循环体为空,是空循环;括号中的两个分号之间是放循环结束条件的,这里也是空,等价于循环条件永远成立。

for( ; ;);的循环条件永远成立,所以导致死循环。

热点内容
每种编译器必需的功能 发布:2025-07-17 18:57:14 浏览:638
古玩源码 发布:2025-07-17 18:22:49 浏览:88
ie浏览历史文件夹 发布:2025-07-17 18:07:05 浏览:262
php还是c 发布:2025-07-17 18:02:57 浏览:457
androidasp 发布:2025-07-17 17:57:34 浏览:476
采访直播脚本 发布:2025-07-17 17:53:46 浏览:882
怎样启用远程访问 发布:2025-07-17 17:52:19 浏览:559
c删除文件夹中的文件 发布:2025-07-17 17:52:17 浏览:488
我的世界梦服务器地址 发布:2025-07-17 17:30:30 浏览:323
c语言函数传递参数 发布:2025-07-17 17:24:50 浏览:923