#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 關注
- 1482 瀏覽
添加回答
舉報
0/150
提交
取消