----------------解决方案--------------------------------------------------------
愿听9楼详细道来~~~~~~~~~
----------------解决方案--------------------------------------------------------
出异常 ?
*(a+1)='k';
----------------解决方案--------------------------------------------------------
我怎么才能知道你不是KYO那个大色魔?
----------------解决方案--------------------------------------------------------
看我那张清纯的脸,你觉得我像大色魔吗???
况且KYO是谁???
----------------解决方案--------------------------------------------------------
大家别跑题呀!
[此贴子已经被作者于2007-9-19 22:03:09编辑过]
----------------解决方案--------------------------------------------------------
char *a="abc",然后a[1]='k'会有发生运行错误,
这里a是指针变量 a[1] 是什么 当然错了
而如果字符串这样声明:char a[]="abc",a[1]='k'却无错误?
这里a是数组 a[1]='k' 没问题
你需要补补课
by 雨中飞燕 QQ:78803110 QQ讨论群:5305909
[url=http://bbs.bc-cn.net/viewthread.php?tid=163571]请大家不要用TC来学习C语言,点击此处查看原因[/url]
[url=http://bbs.bc-cn.net/viewthread.php?tid=162918]C++编写的Windows界面游戏[/url]
[url=http://yzfy.org/]C/C++算法习题(OnlineJudge):[/url] http://yzfy.org/
----------------解决方案--------------------------------------------------------
char *a="sss";
a 指向的常量区,改变常量区的值就会出错
char *a;
a=(char*)malloc(10);
strcpy(a,"sss");
改变a[1]的值就没问题
因为a 指向动态存储区
----------------解决方案--------------------------------------------------------
哦,我明白了char *a="abc"编译器会默认为const char* a="abc",把a当成指向常量字符串的指针,a指向的内容不可以改变,但a本身的值可以改变
----------------解决方案--------------------------------------------------------
char *a="sss";
严格来说这个语句是错的
by 雨中飞燕 QQ:78803110 QQ讨论群:5305909
[url=http://bbs.bc-cn.net/viewthread.php?tid=163571]请大家不要用TC来学习C语言,点击此处查看原因[/url]
[url=http://bbs.bc-cn.net/viewthread.php?tid=162918]C++编写的Windows界面游戏[/url]
[url=http://yzfy.org/]C/C++算法习题(OnlineJudge):[/url] http://yzfy.org/
----------------解决方案--------------------------------------------------------