scanf()函数在c [GNU / LINUX]中不起作用

时间:2017-07-05 22:13:03

标签: c

今天我编写了一段代码:

Code

#include <stdio.h>

main() {

    char letra1;
    char letra2;

    printf("Primera letra: ");
    scanf("%c", &letra1);
    printf("Segunda letra: ");
    scanf("%c", &letra2);

}

当我执行代码时,第一个scanf()执行良好,但第二个甚至没有执行并关闭程序,我不知道为什么。

Execution

> ej3
Primera letra: A
Segunda letra: 

感谢您的时间。

1 个答案:

答案 0 :(得分:1)

您应该使用scanf格式字符串" %c"来跳过任何待处理的空白字符,包括用户在第一个字母后键入的换行符。发布后,第二个scanf()读取输入流中待处理的\n,因此它不会等待用户输入。