代碼如下 運行環境 VS2013
問題:輸入1a 輸出a=1 (這個沒問題)而ch卻什麼都沒得到。為什麼?ch不應是a嗎?
#include<stdio.h>
#include<stdlib.h>
int main()
{
int a;
char ch;
scanf_s("%d", &a);
printf("a=%d\n",a);
scanf_s("%c", &ch);
printf("ch=%c\n",ch);
system("pause");
return 0;
}
運行結果附圖如下:
個人比較認可 VS 的情況
一次輸入回車換行,算是本次輸入的結束,而不應該響應後續的數據輸入與處理。
當然,各個編譯器的處理確實不同。因為你的輸入都被獲取到了,只是看如何處理。