char *p = "hello world!"; 当我向p[i]赋值的时候,最后能够顺利的通过编译以及链接,但是最后

[复制链接]
查看11 | 回复2 | 2012-3-17 10:58:34 | 显示全部楼层 |阅读模式
“hello world"编译器会处理成const 地址的,将其赋值给指针后相当于const指针,是不能对其进行赋值操作的。正确做法如下:void test(){const char* p = "hello world";char szTmp[20] = {0};strcpy(szTmp, p); //此时,你可以对szTmp任意操作了。}...
回复

使用道具 举报

千问 | 2012-3-17 10:58:34 | 显示全部楼层
p是数组的地址,向*(p+i)这么赋值就没错了...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行