51Testing软件测试论坛

标题: 代码运行后查找出无效值,求纠错一下 [打印本页]

作者: 测试积点老人    时间: 2021-8-9 11:27
标题: 代码运行后查找出无效值,求纠错一下

  1. ```c
  2. #include<stdio.h>
  3. #include<malloc.h>
  4. int binary_search(int p[],int k,int sz)
  5.       {
  6.           int left=0;
  7.           int right=sz-1;
  8.              while(left<=right)
  9.              {
  10.                  int mid=(left+right)/2;
  11.                  if(p[mid]<k)
  12.                  {
  13.                      left=mid+1;
  14.                      //return(-1);
  15.                  }
  16.                  else if(p[mid]>k)
  17.                  {
  18.                      right=mid-1;
  19.                      //return(-1);
  20.                  }
  21.                  else if(p[mid]=k)
  22.                  {
  23.                      return(mid);
  24.                  }
  25.              }
  26.           return(-1);
  27.       }
  28.       
  29.       
  30.       int main(void)
  31.       {
  32.           int len,i,k;
  33.           int *p;
  34.           while(1){
  35.               printf("请输入你要存放的元素个数。\n");
  36.          scanf("%d",&len);
  37.          p=(int*)malloc(sizeof(int)*len);
  38.          printf("注意:数组为有序数组.\n");
  39.          printf("请输入你要存储的元素值。\n");
  40.          for(i=0;i<len;++i)
  41.          {         
  42.          scanf(" %d",&p[i]);   
  43.       }
  44.       fflush(stdin);
  45.           //int sz=sizeof(p)/sizeof(p[0]);
  46.       printf("请输入要查找的元素值.\n");
  47.           scanf("%d",&k);
  48.               int sz=sizeof(p)/sizeof(p[0]);
  49.           int binary_search(int p[],int k,int sz);
  50.            int ret=binary_search(p,k,sz);
  51.           if(ret==-1)
  52.           {
  53.               printf("找不到指定数字\n");
  54.           }
  55.           else
  56.           {
  57.               printf("找到了,下标是 %d\n",ret);
  58.           }
  59.     }
  60.           return 0;
  61.       }
复制代码



作者: bellas    时间: 2021-8-10 09:23
打个断点,看看输出
作者: 海海豚    时间: 2021-8-10 11:00
有报错吗
作者: qqq911    时间: 2021-8-10 11:50
看下报错信息
作者: litingting0214    时间: 2021-8-10 13:38
先执行一下,看看有没有错呢
作者: jingzizx    时间: 2021-8-10 14:38
日志




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2