| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 13773 人关注过本帖
标题:并非所有的代码路径都返回值 是怎么原因?
只看楼主 加入收藏
a344067183
Rank: 1
等 级:新手上路
帖 子:6
专家分:2
注 册:2011-10-11
结帖率:100%
收藏
已结贴  问题点数:0 回复次数:8 
并非所有的代码路径都返回值 是怎么原因?
本人新手,才学几个星期;
内容如下,为什么说并非所有代码路径都返回值??
如下
using System;
namespace Neusoft
{
    public class Demo
    {
        public static void Main()
        {
            int a = int.Parse(Console.ReadLine());
            int b = int.Parse(Console.ReadLine());
            int s = Max(a,b);
            Console.WriteLine(s);
        }
        public static int Max(int a, int b)
        {
            if (a > b)
                return a;
            else if (a < b)
                return b;
         
        }
      
    }
}

搜索更多相关主题的帖子: public return class using 
2011-10-18 15:08
sev7en
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2011-10-18
收藏
得分:0 
我也不知道,昨天刚学!
2011-10-18 15:15
a344067183
Rank: 1
等 级:新手上路
帖 子:6
专家分:2
注 册:2011-10-11
收藏
得分:0 
我想了很久,都想不通····
2011-10-18 15:21
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
没必要返回的就不用返回值。比如你贴的代码,函数Max()是有必要返回值的,因为这个函数的功能就是求得某种结果;而函数Main()就没必要返回值,因为它没什么需要告诉调用者(操作系统)的,所有需要知道的信息,都在程序中反映出来了,就无需多此一举。

授人以渔,不授人以鱼。
2011-10-18 15:33
a344067183
Rank: 1
等 级:新手上路
帖 子:6
专家分:2
注 册:2011-10-11
收藏
得分:0 
我确实很新手,您将就这个代码给我说说行不??
2011-10-18 15:39
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:10 
那就是在Main()中先读一个a,再读一个b,然后调用Max()求出a、b中的大数赋给s,输出结果s。

授人以渔,不授人以鱼。
2011-10-18 15:43
BlueGuy
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:29
帖 子:4476
专家分:4055
注 册:2009-4-18
收藏
得分:10 
回复 3楼 a344067183
意思就是说 "当a = b的时候,你没有指定返回值"

我就是真命天子,顺我者生,逆我者死!
2011-10-18 15:45
a344067183
Rank: 1
等 级:新手上路
帖 子:6
专家分:2
注 册:2011-10-11
收藏
得分:0 
哦哦,谢谢大家,感激不尽啊···
2011-10-18 15:49
a6068132
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:47
专家分:131
注 册:2011-5-10
收藏
得分:0 
public static int Max(int a, int b)
        {
            if (a > b)
                return a;
            else if (a < b)
                return b;
            else
                return 0;
        }
你用了两个IF ,一个else,并没用包所有的条件包含进来,并不是完全封闭的。一个有返回值的方法或函数一定要完全封闭。
即使你这样,如下
 public static int Max(int a, int b)
        {
            if (a > b)
                return a;
            else if (a <= b)
                return b;
         }
虽然可能你会说我包含了所有条件,但是这还是错误的。
后面还是要再加一个else ;
因为if对应一个else,这样才能完全封闭。
2011-10-20 11:53
快速回复:并非所有的代码路径都返回值 是怎么原因?
数据加载中...
 
   



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

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