当前位置: 代码迷 >> C语言 >> [讨论]怎么回事?
  详细解决方案

[讨论]怎么回事?

热度:363   发布时间:2007-11-20 22:00:34.0
真的假的,楼上的用了很多编译器试过了吗?
----------------解决方案--------------------------------------------------------

我试过几种编译器,有些可以,有些不可以.


----------------解决方案--------------------------------------------------------
以下是引用静思在2007-11-19 12:48:51的发言:
char *p="love"相当于const char *p="love",p指向的字符串不可以改变,但p本身可以改变。

Strong support!
字符串常量既然还可以改变```其中第一个字符


----------------解决方案--------------------------------------------------------
TC2 可以
VC ++ 不可以.......
----------------解决方案--------------------------------------------------------
常量是受系统保护的,不能修改。任何改变常量的行为都是非法的,将会造成内存访问出错。千万不要妄图用指针去修改常量。
----------------解决方案--------------------------------------------------------
我用了WIN-TC编了一下,提示错误是:“重定义'p'在 main 函数中”,不可运行。
----------------解决方案--------------------------------------------------------
原帖由 [bold][underline]PcrazyC[/underline][/bold] 于 2007-11-18 18:51 发表 [url=http://bbs.bc-cn.net/redirect.php?goto=findpost&pid=1106238&ptid=187003][/url]
字符串是一个常量数组,里面的元素不能改变


不能混用
----------------解决方案--------------------------------------------------------
p指向一个常量数组,数组里的内容可以用p来改变。和const int i=5; int * s=&i; *s=4;一个道理!~
----------------解决方案--------------------------------------------------------
我用TC2.0能编译通过,但结果显示不正常。如图:
                                
----------------解决方案--------------------------------------------------------
每个人都说得有理啊,到底能不能啊??我晕啦~~~
----------------解决方案--------------------------------------------------------
  相关解决方案