首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

指针实现 字符串逆序,该如何解决

2012-04-25 
指针实现 字符串逆序void reverse_string( char *string ){char *cp1char *cp2char tempfor (cp2strin

指针实现 字符串逆序
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);
这样就行了

热点排行