51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 7435|回复: 5
打印 上一主题 下一主题

代码运行后查找出无效值,求纠错一下

[复制链接]
  • TA的每日心情
    无聊
    昨天 09:47
  • 签到天数: 528 天

    连续签到: 1 天

    [LV.9]测试副司令

    跳转到指定楼层
    #
    发表于 2021-8-9 11:27:07 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
    1测试积点

    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.       }
    复制代码


    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    3 小时前
  • 签到天数: 2814 天

    连续签到: 2 天

    [LV.Master]测试大本营

    5#
    发表于 2021-8-10 14:38:22 | 只看该作者
    日志
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    1 小时前
  • 签到天数: 993 天

    连续签到: 2 天

    [LV.10]测试总司令

    4#
    发表于 2021-8-10 13:38:27 | 只看该作者
    先执行一下,看看有没有错呢
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    半小时前
  • 签到天数: 1518 天

    连续签到: 2 天

    [LV.Master]测试大本营

    3#
    发表于 2021-8-10 11:50:06 | 只看该作者
    看下报错信息
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    1 小时前
  • 签到天数: 1803 天

    连续签到: 2 天

    [LV.Master]测试大本营

    2#
    发表于 2021-8-10 11:00:18 | 只看该作者
    有报错吗
    回复

    使用道具 举报

  • TA的每日心情
    擦汗
    昨天 14:30
  • 签到天数: 752 天

    连续签到: 1 天

    [LV.10]测试总司令

    1#
    发表于 2021-8-10 09:23:13 | 只看该作者
    打个断点,看看输出
    回复

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-19 10:48 , Processed in 0.068606 second(s), 22 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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