指针实现 字符串逆序
void reverse_string( char *string )
{
char *cp1;
char *cp2;
char temp;
for (cp2=string; *cp2 !='\0';cp2++)
{
;
}
cp2=cp2-1; //回到最后一个字符,规定不用已知的函数
cp1=string;
while (cp1 < cp2)
{
temp = *cp1;
*cp1 = *cp2; //交换为啥出错????
*cp2 = temp;
cp1++;
cp2--;
}
cp1=string;
printf("%s\n",cp1);
}
[解决办法]
你是这样调用的吧reverse_string( "15646a" );
或者类似这样的调用?
因为这个字符串是常量存储区,没发修改的。
改成
char str[]="5454fs";
reverse_string( str);
这样就行了