2016-05-03 3 views
-1

Попытка обратить вспять все символы в строковом массиве, однако это не выводит правильно. Кто-нибудь знает, пойду ли я в правильном направлении?Подмена символов в строковом массиве

Мой код:

#include <string> 
#include <string.h> 
#include <iostream> 
#include <stdio.h> 
#include <cstring> // for strlen() 
using namespace std; 

void doSwap (char &string1, char &string2) { 
    char temp; 
    temp = string1; 
    string1 = string2; 
    string2 = temp; 
} 

int main() { 
    string testingWord = "hello"; 
    int i; 

    cout << testingWord << "\n"; 

    cout << "\tBelow is testing the swap feature:\n"; 

    for (i = 0; i < testingWord.size() - 1; i++) { 
     doSwap(testingWord[i], testingWord[i+1]); 
    } 

    cout << testingWord << "\n"; 
} 

Вот мой результат:

elloh 

Edit: Не пытается сделать XOR обменивать?

+0

Что вы желаемый результат? – MikeCAT

+1

Вы должны попробовать [объяснить свою логику своей резиновой утке] (https://en.wikipedia.org/wiki/Rubber_duck_debugging). –

+0

Мой желаемый результат: 'olleh' –

ответ

0

Попробуйте это:

for (i = 0; i < testingWord.size()/2; i++) { 
    doSwap(testingWord[i], testingWord[testingWord.size() - i]); 
} 
+0

* Брексия приемлема, но более полные объяснения лучше. * - [Как написать хороший ответ?] (Http://stackoverflow.com/help/how-to-answer) –

Смежные вопросы