#include <iostream>
#include <cstring>
using namespace std;
void reverseString(char s[])
{
int length = strlen(s);
for (int i = 0; s[i] != '\0'; i++) {
char temp = s[i];
s[i] = s[length - i - 1];
s[length - i - 1] = temp;
cout << s[i]; //this ends up printing "eooe" instead of reversing the whole string
}
}
int main()
{
char a[] = "Shoe";
reverseString(a);
return 1;
}
我想知道算法弄亂了什麼,我能做些什麼來修復它,也許我忽略了一些東西,因爲當我試圖在一張紙上解決它時,它似乎正常工作。函數不會正確地反轉字符串
反向算法很好 - 在for循環結束後嘗試放置'cout << s;'。 – jjm
@jjim不會只是打印出通過函數傳遞的參數,而不會被顛倒過來嗎? –
不,你正在修改字符串。 – jjm