以下程序的输出是什么,显示异常输出,为什么?

时间:2017-08-09 10:28:59

标签: c

see the ouput image

以下代码的输出是什么?为什么?

我很想知道为什么c编译器显示异常输出。

幕后会发生什么?

#include<stdio.h>
int main()
{
    char a,b,c;

    printf("Enter First char:");
    scanf("%c",&a);

    printf("Enter Second char:");
    scanf("%c",&b);

    printf("Enter Third char:");
    scanf("%c",&c);

    return 1;
}


Enter First char:a
Enter Second char:Enter Third char:c

见上面的输出,它不是第二个输入而是直接询问第三个输入!

1 个答案:

答案 0 :(得分:0)

首次输入1并点击EnterEnter被解释为换行符)

第一个scanf读取'1'

第二个scanf读取'\n'

然后输入2并点击Enter。第三个scanf读取'2'

您可能需要阅读"%c "" %c",因为格式字符串中的' '会跳过所有空格。