实用库/函数之字符数组的使用

说明:

一维字符数组:存放一个字符串(每个数组元素存放一个字符)

二维字符数组:存放多个一维数组(字符串);二维数组的行数是字符串的个数

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.字符数组的输入输出

头文件:

(1)scanf输入,printf输出

scanf对字符类型有%c和%s两种格式:

%c用来输入单个字符能够识别空格跟换行并将其输入;scanf(”%c”, &c

%s用来输入一个字符串并存在字符数组里通过空格或换行来识别一个字符串的结束。scanf(”%s”, str)

printf输出:都不需要&

例:

实用库/函数之字符数组的使用_第1张图片

分析:

输入数据时1和a之间有空格,被字符c读取,然后str继续读取到a,遇到空格结束读取。

你可能感兴趣的:(实用库/函数,算法,c++,数据结构)