2017-08-09 36 views
-1

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 

看到上面的输出,其没有第二个输入并直接询问第三个!

+0

'//以下代码的输出是什么?为什么?......你是否至少试过运行并理解输出? –

+0

那么,**是什么**输出?运行它并告诉我们(特别是告诉我们什么让你困惑) –

+1

你期望什么输出和你得到了什么输出,请编辑你的问题,并明确说明。 –

回答

0

第一次键入1和命中EnterEnter被解释为换行符)

第一scanf函数读取'1'

第二个scanf读取'\n'。然后键入2并单击Enter。第三个scanf显示为'2'

也许你需要阅读"%c "" %c",因为' '格式字符串跳过所有空格。

+0

不建议在'“%c”'后面的空格,前导空格是好的。 –

相关问题