#include <iostream>
#include <string>
#include <cstring>
using namespace std;
string reverseString(char* str, int sizeArray)
{
char* first = &str[0];
char* last = &str[sizeArray - 1];
while(first < last)
{
char temp = *first;
*first = *last;
*last = temp;
first++;
last--;
}
return str;
}
int main()
{
int size_of_array;
cout << "Max size of input string: ";
cin >> size_of_array;
char* someArray = new char[size_of_array];
cout << "Enter in string: ";
cin >> someArray;
while(strlen(someArray)!=size_of_array);
{
cout << "Length of string doesn't equal size of array" << endl;
cout << "Enter in string: ";
cin >> someArray;
}
cout << reverseString(someArray, size_of_array);
}
當我COUT的strlen(的someArray)和size_of_array他們都是相同的號碼,但是當我運行它,我得到了while循環的錯誤,說他們不彼此不相等。爲什麼沒有這兩個變量彼此相等
示例:我將輸入5作爲size_of_array,然後輸入字符串Kevin。它會給我錯誤。
'「Kevin」'是6個字符,而不是5個。 – chris
如果您使用的是C++,則應該使用'std :: string'而不是原始C風格的字符串... –
您在分號while語句結束。 – cactus1