+ -
当前位置:首页 → 问答吧 → c语言指针问题

c语言指针问题

时间:2011-12-03

来源:互联网

书中说“the result is undefined if you try to modify the string contents”,例如char *pt = "goodluck";然后pt[3]='m';有修改成功的可能吗,为什么?

作者: liang471X   发布时间: 2011-12-03

你可以当作这样 你就明白了

const char *pt = "goodluck";



作者: IVERS0N   发布时间: 2011-12-03

你先看看这句话的前提条件是什么啊?怎么可以章取义呢?

第一个是undefined.第二个是可以修改的。

作者: mingliang1212   发布时间: 2011-12-03

C/C++ code

const



恩 你“违规”啦 嘿嘿

作者: li08240418   发布时间: 2011-12-03

char *pt ;
pt= "goodluck";

作者: liustone1263027102   发布时间: 2011-12-03

这段话的前边是什么?

作者: suixinpiaodang   发布时间: 2011-12-03

存放的字符串是一个常量,常量是不能被改变的。所以操作是错的。字符串常量放在内存的静态存储区。不允许被改变的!

作者: C_ROOKIES   发布时间: 2011-12-03

这个是常量,应该是不可被改变的。

作者: wizard_tiger   发布时间: 2011-12-03

当然不能改变。。。字符串"goodluck"存储在常量区,不能对它写的。

作者: pqpqr   发布时间: 2011-12-03

引用 8 楼 pqpqr 的回复:
当然不能改变。。。字符串"goodluck"存储在常量区,不能对它写的。

同意

作者: wang7535067   发布时间: 2011-12-03

未定义的行为表示其结果无法预测,有无限的可能

作者: AnYidan   发布时间: 2011-12-03