在编写代码时,我收到了a,b和c的错误。

           while(n==0)
        {
            a = Convert.ToInt32(Console.ReadLine());
            b = Convert.ToInt32(Console.ReadLine());
            c = Convert.ToInt32(Console.ReadLine());
            n=CheckTriang(a, b, c, n);

        }

        x=RightTriang(a, b, c, x);


我在循环中输入a,b和c的值,然后在工作方法CheckTriang中检查它们(确定这些值是否可以构成一个有效的三角形),并打破条件,返回n = 1。
我认为问题可能出在编译器不确定循环是否会停止提供值方面。如何重写代码以使其更清晰?

提前致谢!

编辑:
我只复制了有问题的部分,而不是整个代码。声明所需的变量。

最佳答案

切换到do-while循环:

do {
        a = Convert.ToInt32(Console.ReadLine());
        b = Convert.ToInt32(Console.ReadLine());
        c = Convert.ToInt32(Console.ReadLine());
        n=CheckTriang(a, b, c, n);
    } while (n == 0)


这样可以确保您至少可以循环一次。

关于c# - “使用未分配的局部变量”错误C#,“while”命令,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20010895/

10-17 00:40