C中的“输入要退出的字符”程序

图书馆

我尝试使用循环编写C语言程序,该循环重复进行直到从键盘输入特定字符为止。这是我的代码:

#include <stdio.h>
main ()
{
    char option;
    do
        {
            printf("Enter q to quit: ");
            option = getchar ();
        }
    while (option != 'q');
}

我也尝试过用scanf(),但是结果总是一样的。这是我尝试测试该程序后的输出:

Enter q to quit: 3
Enter q to quit: Enter q to quit: 2
Enter q to quit: Enter q to quit: 1
Enter q to quit: Enter q to quit: q

谁能向我解释为什么“输入q退出:”总是出现两次,我该如何解决?

伦丁

之所以将它打印两次,是因为在您按Enter键时,\n在标准输入后附加了换行符

您可以通过添加额外的getchar来放弃该换行符:

do
{
    printf("Enter q to quit: ");
    option = getchar();
    getchar(); // discard line feed
}while (option != 'q');

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在smalltalk中退出程序?

我的C程序中的字符输入错误?

如何仅设置要输入到输入小部件中的某些字符

C控制台应用程序中最佳输入方式:控制台应用程序C中不同类型的输入字符串之间的差异

如何在Qt QML中退出C ++应用程序

输入长度大于16的字符串时,C中的“ read”会挂起程序

批处理-当要求输入时,程序退出

如果用户输入“ q”,则程序退出

键入退出以退出C程序

试图通过输入字母退出C ++程序

从pygame中的程序退出

为什么要直接将程序安装到C:/中?

计算C中的输入字符

强制程序使用输入字符串在C中调用函数

C程序的字符串输入参数

Java:为什么要跳过字符输入程序?

在C中退出整个程序吗?

输入空白行时退出Java程序

如何基于C中函数的输入退出退出while循环?

防止程序在用户在Java中输入错误的输入后退出的正确方法是什么?

当用户在C中输入Ctrl + d时退出程序

使用 make 命令获取字符串输入以用作 C 程序中的主要参数

从字符串输入退出 While 循环

c++程序,从用户输入一个句子,并计算句子中单词和字符的数量

程序重复直到输入字符串退出并忽略后面的整数输入

为什么我的程序在输入后退出

在输入框中输入值时单击取消不退出程序

如何执行退出程序的输入循环?

<C#> 诸如“ä”、“ö”或“å”之类的字符会从控制台输入中退出