首页 新闻 会员 周边

请教C指针的问题

0
悬赏园豆:20 [已解决问题] 解决于 2016-03-17 15:59

#include<stdio.h>
int main()
{
int i = 0;
char s[] = "Hello World!";
char *ps = s,*p = "Hello World!";

/*for(i = 0;*(ps+i) != '\0';i++)
{
*(ps+i) = 'c'; //这里没有问题
}
printf("%s\n",ps);*/
for(i = 0;*(p+i) != '\0';i++)
{
*(p+i) = 'c'; //这里会出错!!!why???
}
printf("%s\n",p);

return 0;

}

如上程序,编译没有问题,运行出现异常,为什么呢?

全世界都是雨的主页 全世界都是雨 | 初学一级 | 园豆:188
提问于:2016-03-17 14:26
< >
分享
最佳答案
0

你这是在改Hello World!这个字符串啊,但是字符串是常量,不能修改啊

收获园豆:20
jello chen | 大侠五级 |园豆:7336 | 2016-03-17 15:54

我明白了,谢谢!

全世界都是雨 | 园豆:188 (初学一级) | 2016-03-17 15:58
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册