#include<stdio.h>
void Swap(char*r,char*s){
char p;
p=*r;
*r=*s;
*s=p;
}
main(){
char*s1="abc";
char*s2="123";
Swap(s1,s2);
printf("%c,%c",*s1,*s2);
}以上代码执行不了,请问哪位大神能帮我解决?谢了!
1 回答
已采纳
onemoo
TA贡献883条经验 获得超454个赞
普通char指针是不能指向常量字符串的,并且因为“abc”“123”是常量字符串,也不能被修改。
要想操作字符串,就应该给它们分配实际的存储空间,所以应把 s1 和 s2 声明为字符数组:
char s1[] = "abc"; char s2[] = "123";
- 1 回答
- 1 关注
- 1432 浏览
添加回答
举报
0/150
提交
取消