我試圖比較一個字符串的字符數與數組的索引元素,但我有麻煩。 例如,如果userInput等於XX,輸出應該是:比較字符串和數組C++
XX不是陣列中的位置0
XX是在位置陣列1
XX不處於陣列在位置2.
arr[] = {"X", "XX", "XXX"};
string userInput;
cin >> userInput;
for (int i = 0; i < userInput.length(); i++)
{
if (userInput[i] == arr[i])
{
cout << userInput << " is in the array at position " << i << endl;
}
else
{
cout << userInput << " is not in the array at position " << i << endl;
我收到此錯誤,我不知道如何解決它。我相當新的編程,所以任何幫助將是偉大的。謝謝。
無效的操作數的二進制表達式( 'INT' 和 '字串'(又名 'basic_string的,分配器>'))
對不起,應該提到。我有:使用命名空間標準;在我的代碼的開始。 – Mludbey
@Mludbey解決此類問題的正確工具是使用您的調試器,但在此之前不要詢問Stack Overflow。告訴我們您在檢查您的代碼時所做的所有觀察。您也可以閱讀[**如何調試小程序(由Eric Lippert撰寫)](https://ericlippert.com/2014/03/05/how-to-debug-small-programs/)**] At最少給我們留下一個** [MCVE] **,它可以再現您的問題。 (這是個人評論,由πάνταῥεῖ™提供) –
對不起,我錯誤地讀了你的程序並對其進行了解釋。你有'arr []'在開始時沒有任何類型,這使我走錯了路。這是'字符串arr []'?如果是這樣,你只需要說'if(userInput == arr [i])'而不是你所擁有的。 –