鱼C论坛

 找回密码
 立即注册
查看: 1063|回复: 3

[已解决]从数组中搜索一个数为什么一直搜索不出来

[复制链接]
发表于 2020-4-7 19:11:40 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
  1. #include<stdio.h>
  2. int fun(int a[], int length, int pan);
  3. int main(void)
  4. {
  5.         int shu = 0;
  6.         int n;
  7.         printf("请输入一个数字搜素有么有这个数");
  8.         int a[] = { 1,12,423,6456,434,2,0,5,34,76,54,23,66, };
  9.         scanf("%d", &shu);
  10.         n = fun(a, sizeof(a) / sizeof(a[0]), shu);
  11.         if (n != -1)
  12.         {
  13.                 printf("这个数字在这个数组的第%d位", n);
  14.         }
  15.         else
  16.         {
  17.                 printf("这个数字不存在");
  18.         }
  19. }
  20. int fun(int a[], int length, int pan)
  21. {
  22.         int n = -1;
  23.         int i = 0;
  24.         for (; i < length; i++)
  25.         {
  26.                 if (pan == a[length])
  27.                 {
  28.                         n = length;
  29.                         break;
  30.                 }
  31.         }
  32.         return n;
  33. }
复制代码
最佳答案
2020-4-7 19:17:33
if (pan == a[i])
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-4-7 19:17:33 | 显示全部楼层    本楼为最佳答案   
if (pan == a[i])
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-7 19:22:38 | 显示全部楼层

谢谢了没注意到
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-7 19:26:01 | 显示全部楼层
  1. printf("%d\n", pan);               
  2. printf("%d\n", a[length]);
复制代码

你在函数的for循环里加上这两行代码,会发现
a[length]永远是0,应该是a[i]
  1. #include<stdio.h>
  2. int fun(int a[], int length, int pan);
  3. int main(void)
  4. {
  5.         int shu = 0;
  6.         int n;
  7.         printf("请输入一个数字搜素有么有这个数");
  8.         int a[] = { 1,12,423,6456,434,2,0,5,34,76,54,23,66 };
  9.         scanf("%d", &shu);
  10.         n = fun(a, sizeof(a) / sizeof(a[0]), shu);
  11.         if (n != -1)
  12.         {
  13.                 printf("这个数字在这个数组的第%d位", n);
  14.         }
  15.         else
  16.         {
  17.                 printf("这个数字不存在");
  18.         }
  19. }
  20. int fun(int a[], int length, int pan)
  21. {
  22.         int n = -1;
  23.         int i;
  24.         for (i = 0; i < length; i++)
  25.         {
  26.                 if (pan == a[i])
  27.                 {
  28.                         return i;
  29.                 }
  30.         }
  31.         return n;
  32. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-7-7 04:23

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表