#include <stdio.h>
void reverse(char *str);
void test(char *str);
int main() {
char * h = "Hello World\n";
test(h);
reverse(h);
}
void test(char *str) {
}
void reverse(char *str) {
char * end = str;
char tmp;
if (str) {
while (*end) {
++end;
}
--end;
while (str < end) {
tmp = *str;
printf("swapwhile %c\n", tmp
); *str = *end;
str++;
// *str++ = *end;
*end-- = tmp;
}
}
}
I2luY2x1ZGUgPHN0ZGlvLmg+Cgp2b2lkIHJldmVyc2UoY2hhciAqc3RyKTsKdm9pZCB0ZXN0KGNoYXIgKnN0cik7CmludCBtYWluKCkgewogY2hhciAqIGggPSAiSGVsbG8gV29ybGRcbiI7CiBwcmludGYoIiVzIiwgaCk7IAogdGVzdChoKTsKIHJldmVyc2UoaCk7CiBwcmludGYoIiVzIiwgaCk7IAp9Cgp2b2lkIHRlc3QoY2hhciAqc3RyKSB7CiAgcHJpbnRmKCJ0ZXN0ICVzIiwgc3RyKTsKfQoKdm9pZCByZXZlcnNlKGNoYXIgKnN0cikgewogY2hhciAqIGVuZCA9IHN0cjsKIGNoYXIgdG1wOwogaWYgKHN0cikgewogICB3aGlsZSAoKmVuZCkgewogICAgIHByaW50Zigid2hpbGUgJXMiLCBlbmQpOwogICAgICsrZW5kOwogICB9ICAgCiAgIC0tZW5kOwogICB3aGlsZSAoc3RyIDwgZW5kKSB7CiAgICAgdG1wID0gKnN0cjsKCiAgICBwcmludGYoInN3YXB3aGlsZSAlY1xuIiwgdG1wKTsKICAgICpzdHIgPSAqZW5kOwogICAgc3RyKys7CiAvLyAgICAqc3RyKysgPSAqZW5kOwogICAgICplbmQtLSA9IHRtcDsKICAgfSAgIAoKIH0KfQo=