Oto pytanie. Który kod jest bardziej czytelny Waszym zdaniem.
KOD1:
char *rev(char *str)
{
char *p=str,*q=p;
while(*q) ++q;
while(p<--q) { char ch(*p); *p++=*q; *q=ch; }
return str;
}
KOD2:
char *rev(char *str) {
const std::size_t length = std::strlen(str);
for (std::size_t i = 0; i < length / 2; ++i) {
std::swap(str[i], str[length - i - 1]);
}
return str;
}
Jak widać oba robią to samo. Oba są stąd: http://4programmers.net/Forum/C_i_C++/215669-funkcja_zwracajaca_napis_nie_dziala