字符数组就是char数组,当维度是一维时可以当作“字符串”,当维度是二维时可以当作字符串数组。
(1)scanf输入,printf输出
scanf对字符类型有%c和%s两种类型,%c用来输入单个字符,%s用来输入一个字符串并存在字符数组里,%c格式能够识别空格跟换行并将其输入,而%s通过空格或换行来识别一个字符串的结束。
(2)getchar输入,putchar输出
getchar和putchar分别用来输入和输出单个字符。例如下面:
#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
char str[5][5];
for(int i=0;i<3;i++)
{
for(int j=0;j<3;j++)
{
str[i][j]=getchar();
}
getchar();
}
for(int i=0;i<3;i++)
{
for(int j=0;j<3;j++)
{
putchar(str[i][j]);
}
putchar('\n');
}
return 0;
}
(3)gets输入,puts输出
gets 用来输入一行字符串,并将其存放于数组中,gets识别换行符\n作为输入结束,因此scanf完一个整数后,如果要是用gets,需要用getchar接收整数后的换行符,例如下面:
#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
char str1[20];
char str2[5][10];
gets(str1);
for(int i=0;i<3;i++)
{
gets(str2[i]);
}
puts(str1);
for(int i=0;i<3;i++)
{
puts(str2[i]);
}
return 0;
}