我有一个关于while循环的快速问题。
我想读取ASCII字符代码,如果它不是某个特定的ASCII代码,我不想继续并要求用户再次输入它。
这行得通

    while (yn != 89)
    {
        printf("\nEnter");
        flushall();
        scanf("\n%c", &yn);
    }

这不是
    while (yn != 89 || yn != 121)
    {
        printf("\nEnter");
        flushall();
        scanf("\n%c", &yn);
    }

天哪,我想我需要睡一觉。这是相当愚蠢的。:)谢谢各位顺便说一句。

最佳答案

表达式yn != 89 || yn != 12始终为真任何值都不等于89或不等于12所以,这个表达没有实际意义。循环将永远循环,因为重复条件始终为真。
根据您的描述,您需要的条件是yn != 89 && yn != 12&&,而不是||

关于c - C-while(某物||某物),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5251743/

10-11 19:36