说明:
一维字符数组:存放一个字符串(每个数组元素存放一个字符)
二维字符数组:存放多个一维数组(字符串);二维数组的行数是字符串的个数。
1.初始化
(1)单个字符初始化
例:char c[10]={'c',' ', 'p','r','o','g','r','a','m','\0'};//把10个字符依次赋给c[0]~c[9]这10个元素
与 char c[10]="c program";等价
输出:c program
注:
①要进行初始化!如果在定义字符数组时不进行初始化,则数组中各元素的值是不可预料的
②提供的初值个数(即字符个数)不能大于数组长度,否则出现语法错误
③如果提供的初值个数与预定的数组长度相同,在定义时可以省略数组长度,系统会自动根据初值个数确定数组长度
④如果初值个数小于数组长度,则只将这些字符赋给数组中前面那些元素,其余的元素自动定为空字符(即'\0')。
(2)直接赋值字符串来初始化
(仅限于初始化,程序其他位置不允许这样直接赋值整个字符串)
2.字符数组的输入输出
头文件:<stdio.h>
(1)scanf输入,printf输出
scanf对字符类型有%c和%s两种格式:
%c用来输入单个字符,能够识别空格跟换行并将其输入;scanf(”%c”, &c)
%s用来输入一个字符串并存在字符数组里,通过空格或换行来识别一个字符串的结束。scanf(”%s”, str)
printf输出:都不需要&
例:
分析:
输入数据时1和a之间有空格,被字符c读取,然后str继续读取到a,遇到空格结束读取。
标签:字符,初始化,scanf,个数,实用,数组,字符串 From: https://blog.csdn.net/2301_79705447/article/details/141270193