C++編程時,有時候會遇到特殊的輸入與輸出。
1.含空白字符的輸入
e.g. 輸入X 8,將X字符賦值給變量a,空白字符賦值給變量b,數字8賦值給變量c。
輸出8 X
分析:只考慮輸入與輸出,可以很簡單。
但是並不能做到空白字符的存儲,看似結果相同,但是並沒有達到要求。
空白字符的輸入,可以用cin.get(char varChar)這個get函數。varChar是char類型的字符變量,get函數不會忽略任何的空白字符。
代碼如下:
輸出結果:
2.含空白字符的長字符串的輸入
e.g. 輸入hollow world!
輸出hollow world!
錯誤做法:
看似代碼沒有錯,但是數組s默認存儲了第一個空格前的一串字符串。
結果:
分析:包含空白字符的長字符串的輸入,用cin.getline(char *c,int n,char='\n')的getline函數。從輸入流中讀取n-1個字符到數組c,直至遇到‘\n‘字符結束(結束字符可根據實際情況更改,默認爲'\n')。
代碼如下:
輸出結果: