标题:使用了未赋值的局部变量
只看楼主
白5130
Rank: 2
等 级:论坛游民
威 望:1
帖 子:26
专家分:17
注 册:2013-4-13
结帖率:75%
已结贴  问题点数:20 回复次数:4 
使用了未赋值的局部变量
using System;
class Better
{
    static void Main(string[] args)
    {
        int a, b, c, Num1, Num2, Num3, Num4,Num5;
        
        Console.WriteLine("请输入三个数:");
        a = Convert.ToInt32( Console.ReadLine());
        b = Convert.ToInt32( Console.ReadLine());
        c = Convert.ToInt32( Console.ReadLine());
        if (a > b)
        {
            Num1 = a;
        }
        else
        {
            Num1 = b;
        }
        if (c > Num1)
        {
            Num2 = c;
        }
        else
        {
            Num2 = Num1;
        }



        if (a < b)
        {
            Num3 = a;
        }
        else
        {
            Num3 = b;
        }
        if (c < Num3)
        {
            Num4 = c;
        }
        else
        {
            Num4 = Num3;
        }

        if (Num4 < a && a < Num2)
        {
            Num5 = a;
        }
        if (Num4 < b && b < Num2)
        {
            Num5 = b;
        }
        if (Num4 < c && c < Num2)
        {
            Num5 = c;
        }
        Console.WriteLine("排序为:");
        Console.WriteLine("{0}",Num4);
        Console.WriteLine("{0}",Num5);
        Console.WriteLine("{0}",Num2);
    }
}
为什么出现这种情况:使用了未赋值的局部变量“Num5”
搜索更多相关主题的帖子: static void 
2013-04-27 23:14
yhlvht
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:36
帖 子:707
专家分:4405
注 册:2011-9-30
得分:20 
if (Num4 < a && a < Num2)
        {
            Num5 = a;
        }
        if (Num4 < b && b < Num2)
        {
            Num5 = b;
        }
        if (Num4 < c && c < Num2)
        {
            Num5 = c;
        }
如果这三个条件都不满足,就不会进入到这三个if中去,则Num5不会被赋值,例如你输入了三个一样的数
 Console.WriteLine("{0}",Num5);那输出的时候就不知道该输出什么值了
Num4和Num2,由于有在if和else中赋值,就是无论如何都会被赋值,但Num5有可能不被赋值
2013-04-28 00:01
moridiansha
Rank: 6Rank: 6
来 自:承德
等 级:侠之大者
威 望:4
帖 子:254
专家分:417
注 册:2009-10-21
得分:0 
楼上正解,要么你都加个if else 要么声明变量的时候附个初始值

www.qysy.tk
2013-04-28 10:58
白5130
Rank: 2
等 级:论坛游民
威 望:1
帖 子:26
专家分:17
注 册:2013-4-13
得分:0 
回复 2楼 yhlvht
是的

[ 本帖最后由 白5130 于 2013-4-28 17:48 编辑 ]
2013-04-28 17:46
白5130
Rank: 2
等 级:论坛游民
威 望:1
帖 子:26
专家分:17
注 册:2013-4-13
得分:0 
回复 楼主 白5130
非常感谢,问题真的是这样的,因为我是刚学C#,所以很多都不懂,再次感谢您的指导
2013-04-28 17:50



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-405718-1-1.html




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

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