gpt4 book ai didi

c - 在这个用 C 编写的 super 简单的程序中,不会让我读取 "char"类型的变量?

转载 作者:行者123 更新时间:2023-11-30 20:09:16 27 4
gpt4 key购买 nike

这个简单的C代码不起作用,我不明白为什么。如果我只读取“n”,或仅单独读取“ch”,则它可以工作,否则,如果我尝试同时读取它们,它不会让我读取“ch”。会发生什么以及我怎样才能让它发挥作用?

#include <stdio.h>

int main()
{
int n;
char ch;

printf("n=");
scanf("%d",&n);
printf("ch="); //when i press Build and Run it won't let me read "ch"??? why?
scanf("%c",&ch);
return 0;
}

最佳答案

当您使用 %d 读入数字时,输入缓冲区中会留下换行符。然后,当您使用 %c 读取字符时,它会立即读取该换行符,这样您就不会收到需要更多输入的提示。

%d 格式说明符不同的是,%c 格式说明符不会丢弃任何前导空格。

%c 之前添加一个前导空格以消耗任何剩余的空格:

scanf(" %c",&ch);

关于c - 在这个用 C 编写的 super 简单的程序中,不会让我读取 "char"类型的变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53270664/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com