为何死循环,调试不出来,挠头吖
#define M 10#include"stdio.h"
void main()
{
static int a={-12,0,6,23,56,80,100,110,115};
int n,low,mid,high,found;
low=0;
high=M-1;
found=0;
printf("input a num to be searched: \n");
do
{
scanf("%d",&n); //*1*
getchar();
}while(n < a || n > a); //运行到这里就会跳回*1*处f,老是在这三句转攸,出不来,咋办吖??
while(low <= high)
{
mid=(low + high)/2;
if(n == a)
{
found = 1;
break;
}
else if(n > a)
{ low = mid + 1; }
else
{ high = mid - 1; }
}
if(1 == found)
{
printf("the index of %d is %d\n",n,mid);
}
else
{ printf("there is not %d\n",n); }
}
有劳各位万能的鱼油指点迷津,感谢万分{:7_154:}
你数组是开辟10个单元的空间,但初始化里边只有9个数字,所以最后一个a自动填充为0,所以不输入的数字总是会满足n > a,所以总是在循环里出不来。望楼主采纳小弟的答案,以资鼓励,嘿嘿。 scanf("%d",&n) 之后 为什么还要 getchar()死循环跟你的输入肯定有关系啊。
getchar()是输入一个字符,且只能输入单个字符,是字符输入函数。
而scanf()是输入函数,可以输入字符、字符串、整形数、浮点数等等。
希望你能解决 你输入-10,然后回车,不就跳出来了!跳出来了记得给分:lol: a自动填充为0,所以你只能输入-12到0之间的数,也就是3楼那么建议的原因。----个人愚见,请多指教。 zhaopengfei 发表于 2014-3-4 22:41 static/image/common/back.gif
你数组是开辟10个单元的空间,但初始化里边只有9个数字,所以最后一个a自动填充为0,所以不输入的数字 ...
非常感谢,原来又是偶太粗心,少打了两个数,难怪跟鱼视频的一样的代码,他老人家的可以执行,这边却挂了,哈哈{:5_109:} 笑鬼xxoo 发表于 2014-3-4 23:10 static/image/common/back.gif
scanf("%d",&n) 之后 为什么还要 getchar()死循环跟你的输入肯定有关系啊。
getchar()是输入一个字符, ...
事关,不加getchar这句,只我输入范围以外的数/字符,就会死循环{:7_183:} 超级忍者龟 发表于 2014-3-4 23:11 static/image/common/back.gif
你输入-10,然后回车,不就跳出来了!跳出来了记得给分
兄弟,不好意,偶还很菜,虽然龟兄的建议是对的,但最想知的其实是问题背后的为什么...{:7_163:} zhongguoren 发表于 2014-3-4 23:23 static/image/common/back.gif
a自动填充为0,所以你只能输入-12到0之间的数,也就是3楼那么建议的原因。----个人愚见,请多指教。
感谢给予说明,开窍了{:7_183:} 欣欣celin 发表于 2014-3-5 18:45 static/image/common/back.gif
非常感谢,原来又是偶太粗心,少打了两个数,难怪跟鱼视频的一样的代码,他老人家的可以执行,这边却挂了 ...
粗心大意害死人呀 zhaopengfei 发表于 2014-3-5 22:01 static/image/common/back.gif
粗心大意害死人呀
哈哈,幸好不是造飞机的{:7_183:} 欣欣celin 发表于 2014-3-5 18:52 static/image/common/back.gif
兄弟,不好意,偶还很菜,虽然龟兄的建议是对的,但最想知的其实是问题背后的为什么...
不好意思,我没权限加好友,新鱼油:) ,可以QQ:28513349 超级忍者龟 发表于 2014-3-5 22:55 static/image/common/back.gif
不好意思,我没权限加好友,新鱼油:) ,可以QQ:28513349
http://fishc.com/dvd/vip.html
看这个,最快有权限的方法{:7_182:} 欣欣celin 发表于 2014-3-5 23:05 static/image/common/back.gif
http://fishc.com/dvd/vip.html
看这个,最快有权限的方法
呵呵,我比较喜欢开源的free! 呵呵,一样啊 超级忍者龟 发表于 2014-3-5 23:10 static/image/common/back.gif
呵呵,我比较喜欢开源的free!
好吧,等神龟有权限再加吧,嘻{:7_181:}
页:
[1]