哪儿不对?

wowowo12 2003-08-21 05:00:12

#include<cstring>
#include<iostream>
using namespace std;
void rev(char *s){ //反转字符串s的字符
for(char *e=s+strlen(s)-1;s<e;++s,--e){
char tmp=*s;
*s=*e; //好像这儿有问题
*e=tmp;
}
}
void main()
{
char *a="123456789";
cout<<a<<endl;
rev(a);
cout<<a<<endl;

}
...全文
44 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
foolfox008 2003-08-21
  • 打赏
  • 举报
回复
已阅同意
chap *p =""指向只读存储区,不可更改
fupa0 2003-08-21
  • 打赏
  • 举报
回复
加个参数
或者返回结果
Bandry 2003-08-21
  • 打赏
  • 举报
回复
这个问题讨论很多了
ianzy 2003-08-21
  • 打赏
  • 举报
回复
同意楼上观点。 *s = *e 处不能赋值但不能改这,只能在外面改了。
wshcdr 2003-08-21
  • 打赏
  • 举报
回复
char *a="123456789";
a 所指向的是常量字符串,是不能被修改的
sevecol 2003-08-21
  • 打赏
  • 举报
回复
char *a="123456789";改为
char a[]="123456789"

因为按照char *a="123456789";这种方式a指向的字符串是const的,不能修改内容。

69,336

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧