嗨,我嘗試創建一個函數,讓用戶知道輸入的單詞是否是迴文(是拼寫反向,例如:皮划艇)。這是我想出的功能,但由於某種原因,函數總是返回false。Bool函數總是返回false
#include <iostream>
#include <cctype>
using namespace std;
bool compare(string str2)
{
int first = 0, mid, last = (str2.size() - 1);
while(first < last)
{
if(first == last)
{
first++;
last--;
}
else return(false);
}
return(true);
}
int main()
{
string pal;
cout <<"Enter your single word palindrome: ";
getline(cin,pal);
if(compare(pal) == true)cout << pal <<" is a palindrome.\n";
else cout << pal <<" is not a palindrome.\n";
return(0);
}
如果(第一==最後一個) - >第一個和最後的索引數字,你需要比較你有你while循環的字符 –
,你如果是錯誤的。你需要'str2 [first] == str2 [last]'因爲你正在檢查'first'是否小於'last',並且'first'和last是一樣的,這不能同時爲真。 –
你的意思是'str2 [first] == str2 [last]'? – Ben