字串輸入和可能產生的問題

2021-10-09 23:45:11 字數 777 閱讀 4614

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...