| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 721 人关注过本帖
标题:关于return 和 while 的用法
只看楼主 加入收藏
thelastone
Rank: 2
等 级:论坛游民
帖 子:14
专家分:14
注 册:2013-11-23
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:5 
关于return 和 while 的用法
麻烦告诉我下return和while的用法,就是return 1那些我不太懂,还有就是while(1)或者其他数字时
搜索更多相关主题的帖子: return 
2013-12-13 23:26
韶志
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:斗气大陆
等 级:贵宾
威 望:44
帖 子:2223
专家分:13592
注 册:2013-3-22
收藏
得分:10 
return 表示从被调函数返回到主调函数继续执行,返回时可附带一个返回值,由return后面的参数指定。 return通常是必要的,
因为函数调用的时候计算结果通常是通过返回值带出的。 如果函数执行不需要返回计算结果,
也经常需要返回一个状态码来表示函数执行的顺利与否(-1和0就是最常用的状态码),主调函数可以通过返回值判断被调函数的执行情况。   

while()    里面的值可以看成是 0 或者 非0 数字,(当然也可以是表达式)
如果是0 则循环终止,  非0 则继续执行循环
比如 while(1)   如果循环里没有中断或者跳转语句的话就会一直循环下去

三十年河东,三十年河西,莫欺少年穷!
2013-12-13 23:45
thelastone
Rank: 2
等 级:论坛游民
帖 子:14
专家分:14
注 册:2013-11-23
收藏
得分:0 
回复 2楼 韶志
请问   return -1 和return 0都是结束么

#include <stdio.h>
#include <stdlib.h>
int f(int n)
{
    if(n>1)
    {
           return f(n-1)*n;
    }
    else
    {
        return 1;
    }
}
int main()
{
    int n;
    printf("please intput a number:");
    scanf("%d",&n);
    printf("%d\n",f(n));
    system("PAUSE");
    return 0;
}
请问   这个递归中,return 1是不是结束f函数?  return f(n-1)*n 是不是返回f函数开头?
2013-12-14 00:15
韶志
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:斗气大陆
等 级:贵宾
威 望:44
帖 子:2223
专家分:13592
注 册:2013-3-22
收藏
得分:10 
0和-1一般可以理解为程序结束,0表示程序执行成功结束,-1则是执行不成功结束(通常用户自定义)

而1 表示返回一个值给上级函数,你这个递归求阶乘,阶乘不就是从1 开始乘的么,所以临界条件设为 return 1

三十年河东,三十年河西,莫欺少年穷!
2013-12-14 00:45
love云彩
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:青藏高原
等 级:贵宾
威 望:53
帖 子:3663
专家分:11416
注 册:2012-11-17
收藏
得分:0 
楼上正解!

思考赐予新生,时间在于定义
2013-12-14 00:50
砖家的谎言
Rank: 12Rank: 12Rank: 12
等 级:禁止访问
威 望:30
帖 子:693
专家分:3898
注 册:2013-12-6
收藏
得分:0 
return n;是要返回一个值,一般用在带参被调函数中;while(i),里面的如果非0即可以继续执行。

我不是砖家,要努力成为砖家。
2013-12-14 09:39
快速回复:关于return 和 while 的用法
数据加载中...
 
   



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

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