為什么char類型輸入遇空格會結束,int類型必須要空格才能輸出


char類型與int類型輸入時的區別:

在C語言的規則中,規定了scanf函數在接收字符串時——遇到空格或回車就認為前面的輸入已經完成且有效!

而對於int類型:表示整數,輸入時需要用空格隔開,以確認第一個數輸入結束,接着輸入第二個數!

驗證:有以下程序:

 

 若要求a1,a2,c1,c2的值分別為100、20、A、B,正確輸入的數據輸入是【】

(A).100A 20B

(B).100A20 B

(C).100 A20B

(D).100 A 20 B

在C語言作業中經常遇到這種數據類型混合輸入輸出的題目。這次就來調試以下,弄給清楚:

1、只有char類型的時候:

 

 

 

 

 

 可以發現:字符類型char,在輸入時遇到空格就會結束輸入。而且輸入的空格就會把B的位置占掉。因此將輸入的位數增加到3個,為此驗證空格是否代表一個有效輸入:

 

 

 

 

 

 得到結論:字符類型char,在輸入的時候不能加空格隔開(回車的情況也是一樣的)。

2、只有int類型的時候:

 

 

 

 

 

 得出結論:整型在輸入的時候,必須要輸入空格或者回車間隔開,才能保證第一個數輸入有效。

 

 

 

 因此得到上面的結果:輸入第一個整型,用字符A進行間隔,以保證整型輸入有效,由於第三個輸入的還是整型,因此可以有空格也可以沒有空格,第四個:可以理解成:整型與字符型之間不能有空格。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM