📄 subject_18110.htm
字号:
<p>
序号:18110 发表者:桑夏 发表日期:2002-10-18 00:01:42
<br>主题:[求助]
<br>内容:在visual c++ 6.0 中我有以下程序:<BR>[pre]<BR>int main()<BR>{<BR> char *str="ok";<BR> *(str+1)=‘o’; //企图是str 变为"oo"<BR> return 0;<BR>}<BR><BR>[/pre]<BR><BR>不出现编译时错误,但运行时会出现<BR><BR>Unhandled exception in *.exe 0xC0000005:Access Violation<BR><BR>如果将char *str改为char str[3],则不会出现运行时错误。<BR>但是这种情况在Turboc2.0中不会发生。<BR>
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:^_^ 回复日期:2002-10-18 08:51:14
<br>内容:[pre]是什么?没听说过<BR><BR>int main()<BR>{<BR> char *str="ok"; //不可以这样定义,这相当于一个常量指针,不能修改<BR>// 所以说你改成 str[] or str[3]等都没有问题<BR> *(str+1)='o'; //企图是str 变为"oo"<BR> return 0;<BR>}<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:CDMA2000 回复日期:2002-10-18 09:18:59
<br>内容:char *str="ok";<BR>你的“ok"是一个常量字符串,里面的东西是不可以修改的<BR>而你定义的str指针指向了该常量串<BR>*(str+1)='o'你企图利用str指针去修改一个不能被修改的<BR>常量字符串<BR>所以就出现了访问非法的错误
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:桑夏 回复日期:2002-10-18 11:03:18
<br>内容:多谢
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -