回 帖 发 新 帖 刷新版面

主题:[讨论]关于C指针

有如下语句
char *p="helloworld";
p[2]='L';
printf("%s\n",p);
编译时为什么会出错,应该怎么修改啊。。各位大侠求赐教!!!!

回复列表 (共6个回复)

沙发


    char a[]="helloworld",*p;
    p=a;
    a[2]='L';
    printf("%s\n",p);


p是指针变量,又不是数组。。

板凳

问题不是ls所说,char *p = "***";这段内存是只读的,不能修改。。

3 楼


同意ls的,用char *p="do jdk jdlk";声明的是字符串常量,相当于const char *p="do jdk jdlk";因为常量只能引用,但是不能修改。

4 楼


知道。谢了啊

5 楼


嗯。。懂了。。谢了啊

6 楼

学习了!

我来回复

您尚未登录,请登录后再回复。点此登录或注册