求教C编程高手的问题
答案:2 悬赏:70 手机版
解决时间 2021-05-14 12:24
- 提问者网友:爱唱彩虹
- 2021-05-13 17:04
想问这段代码究竟错在哪里?这是我在一本书上弄的源代码,怎么会有这种错误
最佳答案
- 五星知识达人网友:酒者煙囻
- 2021-05-13 17:44
#include "stdio.h"
#include "conio.h"
#define N 10
main()
{
int a[]={0,1,2,3,4,5,6,7,8,0},d;
int low=0,high=N-1,mid;
printf("d: ");
scanf("%d",&d);
while(low<=high)
{
mid=(low+high)/2;
if (a[mid]==d)
{
printf("a[%d]=%d\n",mid,d);
return;
}
if (a[mid]>=d)
high=mid-1;
else
low=mid+1;
}
printf("%d wei zhao dap \n",d);
getch();
}
是第17句中a[mid]=>d错了,C中的大于等于应该是>=。
屏一闪是因为你的14句后面没有让程序停顿一下,在14句后面加一句getch();程序就会在这里停一下。
全部回答
- 1楼网友:孤独的牧羊人
- 2021-05-13 18:56
a[mid]=>d应该为a[mid]>=d
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯