2017-08-09 69 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」'後面的空格,前導空格是好的。 –

相關問題