「已注销」 2019-03-24 11:39 采纳率: 100%
浏览 498
已采纳

指针查找数组中的数,只能输出not found,求大神指点

输入x控制数组长度,查找数组中是否有n

#include <stdio.h>
int main()
{
   int i,a[50],x,*p,n,t=1;
   p=a;
   scanf("%d",&x);
   for(i=0;i<x;i++)
   {
       scanf("%d",p++);
   }
   scanf("%d",&n);
   for(i=0;i<x;i++,p++)
   {
       if(*p==n)
       {
           printf("%d",i);
           t=0;
           break;
       }
   }
   if(t==1)
   {
       printf("not found");
   }
    return 0;
}


  • 写回答

1条回答 默认 最新

  • 莫之 2019-03-24 14:40
    关注

    因为在第一个循环中,指针p已经指向了数组的前x个数据的最后一个数据了,你如果想查找,需要将指针p重新指向数组a的首地址;所以,需要在第一个循环赋值完成后,加上p=a; //测试可用

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 帮我写一个c++工程
  • ¥30 Eclipse官网打不开,官网首页进不去,显示无法访问此页面,求解决方法
  • ¥15 关于smbclient 库的使用
  • ¥15 微信小程序协议怎么写
  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教