簡體   English   中英

C#中的無限循環

[英]infinite loop in C#

這個簡單的程序接受整數的輸入並打印它們,但是如果看到60,則停止打印

        string input = string.Empty;
        int intValue = 0;
        int[] numbers = new int[5];

        for (int i = 0; i < 4; i++)
        {
            input = Console.ReadLine();
            if (int.TryParse(input, out intValue))
                numbers[i] = intValue;
        }

        for (int i = 0; i < numbers.Length; i++)
        {
            while (numbers[i] != 60)
            {
                Console.WriteLine(intValue);
            }
        }

程序在第4個輸入之后進入無限循環,就像輸入:1 2 3 4 4 4 4 4 4 ........依此類推

而且我不知道原因.... ^ _ ^

while (numbers[i] != 60)
{
    Console.WriteLine(intValue);
}

應該:

if (numbers[i] != 60)
{
    Console.WriteLine(intValue);
}

字符串輸入= string.Empty;

    int intValue = 0;
    int[] numbers = new int[5];

    for (int i = 0; i < 4; i++)
    {
        input = Console.ReadLine();
        if (int.TryParse(input, out intValue))
            numbers[i] = intValue;
    }

    for (int i = 0; i < numbers.Length; i++)
    {
        /*while (numbers[i] != 60)*/
        if (numbers[i] != 60)  // it should be if condition, while statement made it infinite
        {
            Console.WriteLine(intValue);
        }
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM