字符数组就是字符类型的数组,与整数型数组的用法完全相同
#include <iostream>
using namespace std;
int main()
{
// 字符数组初始化
char c[5];
char d[5]={'a','b','c','d','e'};
char e[]={'a','b','c','d','e'}; // 自动计算长度
// 字符数组基本输入输出
char f[1000]={};
int n;
cin>>n;
for(int i=0;i<n;i++){
cin>>f[i];
}
for(int i=0;i<n;i++){
cout<<f[i]<<" ";
}
return 0;
}
字符数组独有的用法
#include <iostream>
using namespace std;
int main()
{
// 字符数组初始化
char c[6] = {'h','e','l','l','o','\0'}; // '\0'作为结束标记,占位确不算长度
char d[] = "hello"; // 将每个字符一一存放进数组中(包含'\0'),自动计算长度
// 字符数组高级输入输出
char e[10];
cin>>e; // 整行输入,一一存放,遇到空格或换行结束
cout<<e; // 输出整行,遇到'\0'结束
cin.ignore();
cin.getline(e,10); // 整行输入,包括空格
return 0;
}
字符数组相关的功能函数
strlen (arr) —— 求字符串长度(不含 \0)
char c[] = "abcde";
int len = strlen(c);
cout<<len; // 5
strcmp (arr1, arr2) —— 比较两个字符串ascii码
char c1[]="abc";
char c2[]="123";
int res = strcmp(c1,c2);
cout<<res; // 正数c1大,负数c2大,0一样大
strcat (arr1, arr2) —— 字符串拼接
char c1[50]="abc";
char c2[]="123";
strcat(c1,c2); // 拼接时,c1需要有足够的空间
cout<<c1; // "abc123"