c 语言字符串数组之间怎样赋值

如题所述

给字符数组赋值分两种情况,单字符赋值和字符串赋值。

单字符赋值,可通过数组下标方式或指针方式,引用数组元素,进行赋值,如:

char a[10];
char ch='a';
for( i=0;i<10;i++ )
a[i]=ch+i ; //可通过数组下标引用数组元素,完成赋值
char *p;
for( p=a; p<a+10; p++ )
*p=ch++; //通过指针对数组相应元素赋值
字符串赋值,可使用string.h头文件中的字符串操作函数进行赋值,如:

char a[10];
strcpy( a, "abcdefgh");
sprintf(a, "%s", "abcdefgh");
注意:数组在定义时,可以同时进行初始化,但定义完成后,就不能按初始化的形式对其赋值了,如:

char a[10]="abcdefgh"; //这样可以
a="abcdefgh"; //这样是错误的!a是数组名,是一个静态数据:数组首地址值,可以看作是个常数,不能再被改变。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-06-07
循环遍历赋值
第2个回答  2017-06-07
strcpy( )
相似回答