sizeof運算子指出整個陣列的長度;
strlen()只計算可見的字元,而不把空字元計算在內。
你會發現,使用者根本沒有機會輸入dessert。
cin如何確定字串完成的呢?
cin使用空白(換行符)來確定字串的結束,這意味著cin在獲取字元陣列輸入時只讀取乙個單詞。讀取該單詞後,cin將該字串放到陣列中,並自動在結尾新增空字元。讀取第二個字串時,自動忽略之前的空格。
有時,我們需要輸入的內容由多個單詞構成,這時cin就不夠用了。
我們可以使用
通過回車鍵的換行符來確定輸入結尾。
cin.getline()
讀取 「輸入的內容」+使用者按enter鍵而生成的換行符,並將換行符替換為』\0』儲存在陣列之中。(cin則不會讀取空格和換行符)
但使用時要小心。
混合輸入數字和字串產生的問題:
#include using namespace std;
int main()
;
for(int i=0;i或者
char p[3][10]=;
ACM字串輸入問題
坑死了。竟然被這個問題困擾了大半個學期,今天搜來翻去終於弄明白了一些,以後固定用這幾種用法好了不然總出錯qaq 實際測試例子就沒放了,死記這裡就夠用了t t gets 函式 用來從標準輸入裝置 鍵盤 讀取字串直到換行符結束。cin 可以連續從鍵盤讀取想要的資料,以空格 tab或換行作為分隔符。sca...
C 字串的輸入問題
include include using namespace std 字串的輸入 使用字串輸入的專屬函式gets cin.get gets 同cin scanf一樣,無法檢測陣列下標越界的問題,這會導致程式執行時崩潰。cin.get 可以指定錄入的個數,從而避免了下標越界帶來的問題。void ma...
VS中輸入字串和輸出字串問題
因為自己剛開始用vs,不是很習慣,今天發現乙個問題,就是我想實現輸入一段字串,然後在將它輸出來,發現沒有輸出,反而是聽了一會兒,然後閃退了,同樣的 放到dev c 執行卻很好使,我的 如下 include stdio.h include stdlib.h include string.h int m...