实际上还是那个XOR的操作: void exchange(char *str){ int i=0,j=0; for(i=0,j=strlen(str)-1;i<j;i++,j--){ str[i]^=str[j]; str[j]^=str[i]; str[i]^=str[j]; } } int main(){ char str[]="abcdefgt"; exchange(str); printf("reversed:%s/n",str); return 1; }