2017-02-13 136 views
-2

我的問題是:我是否需要使用cin來遍歷和測試數組中的某些條件的值,還是我可以簡單地只是在不使用cin的情況下測試值。使用cin遍歷數組

例如:

//是否有必要?

while (word[i]!='\0'){ 
cin >> word[i]; 
if (word[i] == 'K') 
    cout <<"Letter 'K' is in array << ends; 
i++; 
cin >> word[i]; 
} 

...或者我可以這樣做:

while (word[i]!='\0'){ 
if (word[i] == 'K') 
    cout <<"Letter 'K' is in array << ends; 
i++; 
}  
+3

你覺得'cin >> word [i]是什麼意思? –

+0

什麼是「單詞」? – user4581301

+0

它似乎是從空終止檢查字符數組(C字符串)。 :) –

回答

1

簡單樸素的回答:

不可以,你完全搞錯了。 cin與陣列 遍歷沒有任何關係。

cin實際上是用來讀取用戶輸入的。如果您對鍵盤輸入感興趣,請將其保存在數組中,然後遍歷它,那麼您應該使用cin(以便輸入,而不是遍歷)。

對於簡單的遍歷,如果word是一個空終止和預填充字符數組(C字符串),則第二個代碼片段應該可以正常工作。

2

cin是一個用於讀取輸入的操作符。

爲使該代碼工作..

while (word[i]!='\0'){ 
if (word[i] == 'K') 
    cout <<"Letter 'K' is in array << ends; 
i++; 
} 

您已經要求名稱爲「字」,這你可能必須讓無論是從用戶輸入或通過給值直接在陣列的陣列。

如果您希望用戶輸入數組值,您可以在上述代碼之前的循環中使用cin運算符,以便填充數組「word」。