#include <stdio.h>
main ()
{
int i;
do
{
printf ("input a int number which >0\n");
scanf ("%d",&i);
printf("first i=%d\n",i);
}
while (i<=0);
printf ("second i=%d\n",i);
}
##########################
例如:
3 <Enter>
first i=3
second i=3
“此时i>0,退出循环”
-2<Enter>
first i=-2
input a int number which >0\n
“此时i小于0,进入输入键盘输入的循环”
-2.2<Enter>
first i=-2
input a int number which >0\n
first i=-2
input a int number which >0\n
first i=-2
input a int number which >0\n
........
“虽然i输入的数型有问题 但还是能表示出来i=-2
却进入了死循环 键盘也不能输入了。”
我知道输入的数型有错误 但怎么是这个情况?
谁能解释下?谢谢啦!
你输入 一个负的小数看看 比如-3.14
反正就是不停的循环
而且不能从键盘输入新的数字了
也就是说Scanf函数跳过了
什么原因喃?
知道啊
但是循环体里面有个
Scanf函数的
进入循环后 应该包含“从键盘再次输入”这个过程
但是我输入一个负小数后
没有进入“从键盘再次输入”这个过程
While(i<=0)就开始再次判定了
i的值没有改变 成了死循环。。。
你的编译器有问题。。。重启试下。。
c语言,为何这是死循环?
while(1)表示无条件执行循环(因为1表示真),而它的循环体是后面跟着的那个语句:也就是printf("%d",k-=3);所以程序会一直运行printf("%d",k-=3); 永远出不来。这条语句就相当于 while(1){ printf("%d",k-=3);} 加上大括号里面可以加多个语句作为循环体,如果没加大括号就是while后面的...
c语言问题,为什么陷入死循环?(当我输入时3.14])就是好奇输入符号会怎样...
会返回失败, 并且 ] 还在,这样, 循环就会一直在 ] 这里返回失败,于是就死循环了.你可以看scanf函数的返回值的说明.
c语言习题,为什么这是一个死循环
所以,if(n==s)这个分支,逻辑表达式n==s永远为假 这并不是死循环,而是无法输出结果(你的输出全写在这个分支里了)
C语言的问题 为什么这成了死循环?
③ 遇非法输入。所以你输入非整型数据时,都会无限循环。
C语言到#结束,但为什么我的程序会陷入死循环啊?
因为是在while前输入的数据,循环过程中这个数据一直存在。把scanf("%f%c%f",&a,&b,&c); while(b!='#'){改成while(scanf("%f %c%f",&a,&b,&c)==3 && b!='#'){。把所有的continue;删除。
C语言,下面代码为什么变成死循环了
i=b不是逻辑语句,而是赋值语句,代表i=10, 10数值在while 中为真,变成了 while true 就是死循环了
有什么问题 死循环了 C语言
\/\/while (str[i]!=0) \/\/ 死循环是这里导致的,这里只判断了第一个数不为零,然后进入了死循环 逻辑也有问题,帮你修正如下,仔细和你的对比下,并调试通过。望采纳!!!include<stdio.h> void main(){ int m,n,t,count=0,i;int str[100]={'0'};scanf("%d%d",&m,&n); \/\/ ...
c语言中 为什么有时候输入.就陷入死循环了???
这个 for 循环中 i 始终不变,而且 i 始终满足循环条件,那么当程序执行时就永远陷在这个循环中出不来了,也就是死循环,这应该叫临界条件不明确。还有的时候,计算量太大,比如调用递归函数太多,计算比较慢,你也可能认为是陷入死循环了。也有是因为计算机系统本身的原因。不过这种情况比较少。总的来...
C语言死循环问题 谁帮我解释一下。谢谢各位
因为scanf需输入整数却输入字符时,实际输入未成功,返回输入失败,下次执行SCANF时,会认为上次输入数据未读取,继续读取又报错,形成了死循环。
#C语言# 请问用递归实现 n!为什么是死循环?
在这个递归函数中,循环终止条件应该是 j >= m 而不是 j < m,否则函数将一直递归调用下去,直到栈溢出,导致死循环。此外,在递归调用中,应该传递 (m - 1) 而不是 (j + 1),以便递归到最终结果。以下是修正后的代码:int Fac(int m){ if (m <= 1) { \/\/ 递归终止条件 return 1...