c语言中输入一个数,在一维数组中查找,并输出它的地址,求大神指出错在哪里?#include<stdio.h>
int main()
{
int*p;
int x,m,h=9,l=0;
int a[10]={0,1,2,3,4,5,6,7,8,9};
scanf("%d",&x);
while(a[h]>a[l])
{
m=(h+l)/2;
if(x>=a[m+1])
{
l=m+1;
}
else if(x<a[m+1])
{
h=m+1;
}
p=&a[l];
}printf("%p",p);
return 0;
}
int main(void)
{
int aiNum[10] = {0,1,2,3,4,5,6,7,8,9};
int i;
int number;
printf("input NUMBER");
scanf("%d",&number);
for(i=0;i<10;i++)
{
if(number == a[i])
break;
}
if(i>9)
{
printf("NOT FOUND NUMBER\n");
}
else
{
printf("%p",&i);//好像要加取地址符号
}
return(0);
}
{
int aiNum[10] = {0,1,2,3,4,5,6,7,8,9};
int i;
int number;
printf("input NUMBER");
scanf("%d",&number);
for(i=0;i<10;i++)
{
if(number == a[i])
break;
}
if(i>9)
{
printf("NOT FOUND NUMBER\n");
}
else
{
printf("%p",&i);//好像要加取地址符号
}
return(0);
}
温馨提示:答案为网友推荐,仅供参考
第1个回答 2017-04-08
while循环没有跳出,自己想一下怎么跳出追问
相等时