----------------解决方案--------------------------------------------------------
再多说一句。。。
不是vc6将字符串看作常量,是ANSI C将字符串看作只读的,在所有的ANSI C 编译器上运行都应该一样的。比如:
char *p="hello";
p="hello,world";
去验证一下,p的值变了。也就是说"hello,world"不是在"hello"的基础上拼接而来的。
----------------解决方案--------------------------------------------------------
看来你很懂吗?我的意思是说..如果把char *p="hello";是没办法对字符串进行任何修改操作的(vc++6.0其它没试过...不过看讨论在tc上是可以的..不知道你的标准....)..你上面的前部分解释不错...char *p="hello";p="hello,world";
这两个字符串更本不是一个东西..即使char *p="hello";p="hello";指针也是不一样的..概念要弄好...
[[it] 本帖最后由 sunkaidong 于 2008-3-16 16:59 编辑 [/it]]
----------------解决方案--------------------------------------------------------