You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#中修正do-while循环:输入元音后程序无法终止的问题

问题解决:输入元音后程序未终止的修复

你的代码无法在输入元音后终止,核心问题出在do-while循环的条件判断上:

  • 你使用了按位或运算符|,这会导致循环条件永远为true——一个字符不可能同时等于多个元音,所以cha != 'a' | cha != 'e'这类判断始终成立,循环会持续执行。

修正方案:

  1. 将循环条件中的|替换为逻辑与运算符&&,表示“仅当输入字符不是任何元音时,继续循环”
  2. 将if判断中的|替换为逻辑或运算符||(按位或在此场景虽能运行,但逻辑或更符合语义)
  3. 可选:移除if块内多余的Console.ReadLine(),避免需要额外回车才能结束程序

修正后的完整代码:

using System;
namespace ConsoleApp9
{
    class Program
    {
        static void Main(string[] args)
        {
            char cha;
            
            do
            {
                Console.WriteLine("Insert letter: ");
                cha = char.Parse(Console.ReadLine());

                if (cha == 'a' || cha == 'e' || cha == 'i' || cha == 'o' || cha == 'u')
                {
                    Console.WriteLine("We are sorry, ¡the program ends here!");
                }

            } while (cha != 'a' && cha != 'e' && cha != 'i' && cha != 'o' && cha != 'u') ;
        }
    }
}

内容的提问来源于stack exchange,提问作者daniell e

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 20:25:30