-
scanf/printf+%s
-
getchar()/putchar() 前者不带参数后者带
-
gets()/puts() 二者都带参数,为一维字符数组或二维字符数组的一维
-
运用指针+scanf/printf或getchar/putchar
#include<cstdio>
//字符数组的3种输入输出方式
int main(){
//1.scanf/printf+%s
char str_1[50];
printf("%s","请输入第一个字符串:\n");
scanf("%s",str_1);//以空格或换行识别一个字符串的结束
printf("%s","第一个字符串的内容为:\n");
printf("%s\n",str_1);
//2.getchar()/putchar()
char str_2[100];
printf("%s","请输入第二个字符串:\n");
for(int i=0;i<=30;i++){
str_2[i]=getchar();
}
printf("%s","第二个字符串的内容为:\n");
for(int j=0;j<=30;j++){
putchar(str_2[j]);
}
printf("\n");
//3.gets()/puts()
char str_3[50];
printf("%s","请输入第三个字符串:\n");
getchar();//gets识别换行符作为输入结束,所以要先将上一个换行符吸收
gets(str_3);
printf("%s","第三个字符串的内容为:\n");
puts(str_3);
return 0;
}
方法四
#include<cstdio>
int main(){
char str[10];
printf("请依次输入字符数组的10个元素:\n");
for(int i=0;i<=9;i++){
scanf("%c",str+i);
}
printf("字符数组的10个元素为:\n");
for(int j=0;j<=9;j++){
printf("%c",*(str+j));
}
}
出处:《算法笔记》(胡凡,曾磊)