c - 为什么输入终止参数后while循环一直在运行?

标签 c while-loop do-while

为什么在我输入应该终止循环的符号后 while 循环没有中断。 (三)

 printf("Enter a sentence: ");
do
{
    message[i] = getchar();
    i++;
}while(message[i - 1] != '.' || message[i - 1] != '!' || message[i - 1] != '?');

如果我把 . ?或者 !最后它只是继续运行。怎么了?

最佳答案

你的 while 循环的条件是平凡的,因为角色不能同时是所有三个..你正在寻找的是

printf("Enter a sentence: ");
do
{
    message[i] = getchar();
    i++;
}while(message[i - 1] != '.' && message[i - 1] != '!' && message[i - 1] != '?');

关于c - 为什么输入终止参数后while循环一直在运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27682589/

相关文章:

c - 当 'Enter' 时结束 while 循环

c - 如何将变量传递给c中的命令

python - 使用计数器将 Python for 循环转换为 while 循环

java - 结束 do-while 循环

c# - 陷入无限循环

linux - 重命名文件的shell脚本

c - 检测哪个字母最常见的程序

c - Julia - C 结构中的固定大小数组

c - 从 pty 读取

swift - 使用闭包作为 While 循环的条件