1

大家好,我是 C# 新手,目前正处于试验 if-else 语句的阶段。在声明变量ageUserallowedAgeinput并运行程序后,我注意到 if 语句和结果输出似乎不匹配。

        int ageUser;
        int permittedAge = 18;
        int input;

        Console.Write("Put in your age: ");
        input = Convert.ToInt32(Console.Read());
        ageUser = input;

        if (ageUser < permittedAge)
        {
            Console.WriteLine("Sorry you are not permitted to enter this site!");
        }

        else
        {
            Console.WriteLine("Welcome");
        }

链接到控制台输出

4

1 回答 1

1

您将需要更改您在输入中的阅读方式。Read() 读取一个字符,并且不会像您认为的那样将其转换为 int 。(由于其 ASCII 表示,5 变为 53)。改为使用ReadLine

请改用以下内容。

    Console.Write("Put in your age: ");
    input = Convert.ToInt32(Console.ReadLine());
    ageUser = input;
于 2019-12-31T22:46:40.593 回答