首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

c++字符串常量的有关问题!

2012-02-12 
c++字符串常量的问题!!#includeiostream.hintmain(){chara[] hello a[0]X cout a endlchar

c++字符串常量的问题!!
#include   <iostream.h>


int   main()
{
char   a[]= "hello ";
a[0]   =   'X ';
                  cout < <a < <endl;
                  char   *p= "world ";           //   注意p指向常量字符串
                  p[0]   =   'X ';             //   编译器不能发现该错误                           cout < <p < <endl;

return   0;
}

这段程序有什么问题啊?!!在c++高质量编程上看到的!
如果把a[0]   =   'X ';和   p[0]   =   'X ';都注释掉肯定没问题!
只注释p[0]   =   'X ';也正常!,但是这两句都不注释的话,就有问题了!!
只打印 "Xello ",然后还系统出现问题,要关闭控制台窗口!


[解决办法]
char a[]= "hello ";
a[0] = 'X ';//a是个常量地址,但是内容可以修改,这个没问题
cout < <a < <endl;
char *p= "world "; // 注意p指向常量字符串
p[0] = 'X '; //p指向常量字符串,修改常量当然不行

热点排行