c语言中,为什么不能对字符指针变量指向的字符串再赋值?

2020-10-19 科技 88阅读

因为C语言中,凡是以""括住的形式直接出现,而且你又没有为其分配内存空间的字符串都是常量字符串,是不能修改其值的。

这样:

char a[6]="hello";

a[2]='c';

就可以了。

这里你为hello分配了一个长度为6的字符数组空间来存放。

扩展资料:

给字符数组赋值的方法

1、定义的时候直接用字符串赋值

char a[10]="hello";

注意:不能先定义再给它赋值,如char a[10]; a[10]="hello";这样是错误的!

2、对数组中字符逐个赋值

char a[10]={'h','e','l','l','o'};

3、利用strcpy

char a[10];

strcpy(a, "hello");

声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com