今天我编写了一段代码:
#include <stdio.h>
main() {
char letra1;
char letra2;
printf("Primera letra: ");
scanf("%c", &letra1);
printf("Segunda letra: ");
scanf("%c", &letra2);
}
当我执行代码时,第一个scanf()
执行良好,但第二个甚至没有执行并关闭程序,我不知道为什么。
> ej3
Primera letra: A
Segunda letra:
感谢您的时间。
答案 0 :(得分:1)
您应该使用scanf
格式字符串" %c"
来跳过任何待处理的空白字符,包括用户在第一个字母后键入的换行符。发布后,第二个scanf()
读取输入流中待处理的\n
,因此它不会等待用户输入。