o****o 发帖数: 1398 | 1 1 void reverse(char *str) {
2 char * end = str;
3 char tmp;
4 if (str) {
5 while (*end) {
6 ++end;
7 }
8 --end;
9 while (str < end) {
10 tmp = *str;
11 *str++ = *end;
12 *end-- = tmp;
13 }
14 }
15 }
第11,12行是不是有问题啊?运算符优先级先计算++或者--吧? |
l*********8 发帖数: 4642 | |
j********e 发帖数: 1192 | 3 x++和++x的区别很tricky
【在 o****o 的大作中提到】 : 1 void reverse(char *str) { : 2 char * end = str; : 3 char tmp; : 4 if (str) { : 5 while (*end) { : 6 ++end; : 7 } : 8 --end; : 9 while (str < end) { : 10 tmp = *str;
|
o****o 发帖数: 1398 | 4 *str++ = *end;
是不是等于
*(str++) = *end; |
t****t 发帖数: 6806 | 5 是. 但是仍然是正确的.
【在 o****o 的大作中提到】 : *str++ = *end; : 是不是等于 : *(str++) = *end;
|