高手出来帮忙啊

来源:百度知道 编辑:UC知道 时间:2024/05/01 14:17:45
#include <stdio.h>
#define N 5
void mian()
{
int i,j,num[N],*p;
p=num;
printf("请输入五个正整数:");
for(i=0;i<N;i++)
{
scanf("%d",&num[i]);
p++;
}
p=num;
printf("请输入一个你要查的数:");
scanf("%d",&j);
for(i=0;i<N;i++)
{
if(*(p+i)=j)
{
break;
}
else
{
printf("没找到!");
}
}printf("该数所在的下标为:%d",i);

}
这是一个用指针查找数字的代码,但是有问题啊
它接收到了“输入你要找的数”但是先要输入要查的数
然后才出现:请输入一个你要查的数:该数所在的下标为:
为什么?

试试我改过的这个程序:

#include <stdio.h>
#define N 5
int main()
{
int i,j,num[N],*p;
p=num;
printf("请输入五个正整数:");
for(i=0;i<N;i++)
{
scanf("%d",&num[i]);
// p++; //本人觉得该语句没有用
}
p=num;
printf("请输入一个你要查的数:");
scanf("%d",&j);
for(i=0;i<N;i++)
{
if(*(p+i)==j) //在你的程序中为=,这个符号在c语言中表示强制赋值;使得*(p+0)=j;循环跳出;
{
break;
}
}
if(i==N)
{
printf("没有找到!\n");
}
else
{
printf("该数所在的下标为:%d\n",i);
}

}

第6行P=NUM?改成p=&num[n]试试!