| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 5301 人关注过本帖
标题:求助输出while循环里面的return值
只看楼主 加入收藏
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:0 
回复 9楼 炎天
嗯,是的。但是当a[41]=4254后便会执行return mid,没有输出值了。把return mid 改为break更直接
不过题主要求解决return 的问题就按照他的意图来做吧

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2016-11-04 18:03
zdtxfycgu
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2016-11-3
收藏
得分:0 
#include<stdio.h>
int main()
{
    int a[80]={6 ,153 ,298 ,313 ,317 ,332 ,345 ,376 ,486 ,528 ,562 ,592 ,592, 737 ,820 ,1058 ,1151 ,1234 ,1262 ,1263 ,1302 ,1363 ,1452, 1477 ,1569 ,1606 ,1660 ,1731 ,1748 ,1847 ,1959 ,1996 ,2001 ,2189 ,2192 ,2333 ,2357 ,2437 ,2536 ,2615 ,2674 ,2689 ,2716, 2834 ,2854 ,2908 ,3075 ,3205 ,3229 ,3358 ,3473 ,3477 ,3504 ,3596 ,3600 ,3676 ,3683 ,3800 ,3859 ,3884 ,3955, 3985, 4055 ,4087 ,4099, 4220 ,4254, 4310 ,4415, 4434, 4500 ,4514, 4522, 4588, 4598, 4797, 4865, 4888, 4904, 4978};
    int low=0,high=80,mid;

    while(low <= high)
    {
        mid = (low + high)/2;
        if(a[mid]==4254)
        {
           return mid;
        }
        else if(a[mid] > 4254)            
            high = mid - 1;

        else         
            low = mid + 1;        
    }
   
    return 0;
}
2016-11-07 19:17
zdtxfycgu
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2016-11-3
收藏
得分:0 
回复 12楼 zdtxfycgu
麻烦各位看一下,就是这个了,后面添加printf("%d",mid);,输出不出来
2016-11-07 19:18
zdtxfycgu
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2016-11-3
收藏
得分:0 
谢谢各位了,明白了。用break解决了。
2016-11-07 19:33
快速回复:求助输出while循环里面的return值
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024031 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved