要注意\0问题。
在下面++,而不是在while中++。
--j。但是也不对,会把\0结束符弄到前面。
改为:
#include "stdafx.h" void Reverse(char str[]) { int i=0,j=0; char c=0; while(str[j]) ++j; while(i<--j) { c=str[i]; str[i]=str[j]; str[j]=c; ++i; } //看下面,是先将a和g对调,d和d对调,依次首尾对调。 } int _tmain(int argc, _TCHAR* argv[]) { char s[128]="adfdsgdg"; puts(s); Reverse(s); puts(s); return 0; }