例如
/* Note:Your choice is C IDE */
#include "stdio.h"
void main()
{
char a[7]="ddgh";
printf("%s",a);
}
怎样才能不在定义时赋值,例如a="dsfsdf",这样不能实现。
有什么办法,只有这样吗?
a[1]='f';a[2]='f'.............
我不是指使用者输入,是编程员在编写的时候直接写入去。像这样a="dsfsdf",可惜这个不能实现
1、单字符赋值,可通过数组下标方式或指针方式,引用数组元素,进行赋值。
例子:
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++; //通过指针对数组相应元素赋
2、字符串赋值,可使用string.h头文件中的字符串操作函数进行赋值。
例子:
char a[10];
strcpy( a, "abcdefgh");
sprintf(a, "%s", "abcdefgh");
C语言给字符数组赋值的优点:
1、简洁紧凑、灵活方便
C语言一共只有32个关键字,9种控制语句,程序书写形式自由,区分大小写。把高级语言的基本结构和语句与低级语言的实用性结合起来。C 语言可以像汇编语言一样对位、字节和地址进行操作,而这三者是计算机最基本的工作单元。
2、运算符丰富
C语言的运算符包含的范围很广泛,共有34种运算符。C语言把括号、赋值、强制类型转换等都作为运算符处理。从而使C语言的运算类型极其丰富,表达式类型多样化。灵活使用各种运算符可以实现在其它高级语言中难以实现的运算。
参考资料:百度百科 C语言基础语句
给字符数组赋值分两种情况,单字符赋值和字符串赋值。
单字符赋值,可通过数组下标方式或指针方式,引用数组元素,进行赋值,如:
char a[10];字符串赋值,可使用string.h头文件中的字符串操作函数进行赋值,如:
注意:数组在定义时,可以同时进行初始化,但定义完成后,就不能按初始化的形式对其赋值了,如:
char a[10]="abcdefgh"; //这样可以