从数组中搜索一个数为什么一直搜索不出来
#include<stdio.h>int fun(int a[], int length, int pan);
int main(void)
{
int shu = 0;
int n;
printf("请输入一个数字搜素有么有这个数");
int a[] = { 1,12,423,6456,434,2,0,5,34,76,54,23,66, };
scanf("%d", &shu);
n = fun(a, sizeof(a) / sizeof(a), shu);
if (n != -1)
{
printf("这个数字在这个数组的第%d位", n);
}
else
{
printf("这个数字不存在");
}
}
int fun(int a[], int length, int pan)
{
int n = -1;
int i = 0;
for (; i < length; i++)
{
if (pan == a)
{
n = length;
break;
}
}
return n;
} if (pan == a) BngThea 发表于 2020-4-7 19:17
if (pan == a)
谢谢了没注意到 printf("%d\n", pan);
printf("%d\n", a);
你在函数的for循环里加上这两行代码,会发现
a永远是0,应该是a
#include<stdio.h>
int fun(int a[], int length, int pan);
int main(void)
{
int shu = 0;
int n;
printf("请输入一个数字搜素有么有这个数");
int a[] = { 1,12,423,6456,434,2,0,5,34,76,54,23,66 };
scanf("%d", &shu);
n = fun(a, sizeof(a) / sizeof(a), shu);
if (n != -1)
{
printf("这个数字在这个数组的第%d位", n);
}
else
{
printf("这个数字不存在");
}
}
int fun(int a[], int length, int pan)
{
int n = -1;
int i;
for (i = 0; i < length; i++)
{
if (pan == a)
{
return i;
}
}
return n;
}
页:
[1]