程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程解疑 >> c語言-C語言中scanf函數問題

c語言-C語言中scanf函數問題

編輯:編程解疑
C語言中scanf函數問題
 #include<stdio.h>
   int main()
   {
    char a1[5],a2[5],a3[5],a4[5];
    scanf("%s",a1);
    printf("END1");
    scanf("%s",a2);
    printf("END2");
    scanf("%s",a3);
    printf("END3");
    scanf("%s",a4);
    printf("END4");
    puts(a1);puts(a3);puts(a4); 

   } 

運行結果
aa bb回車
END1END2cc dd回車

問:為什麼在我輸入完aa bb回車才出現END1? 不是應該輸入aa,在輸入完空格(執行完 scanf("%s",a1);)就接著執行printf("END1");輸出END1嗎?跳過輸出END1先執行scanf("%s",a2); ??

最佳回答:


樓主是想你輸入完aa+空格以後系統能自動識別,並且緊跟著輸入END1?
操作系統有自已的鍵盤緩沖區,每輸入一個字符就放系統鍵盤緩沖區中,當輸入回車時,系統停止調用字符輸入功能,串輸入操作結束。
(此時才進入輸入緩沖區)

Marlous
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved