C语言中没有专门的字符串变量,如果想将一个字符串存放在变量中,就必须使用字符数组,数组中每一个元素存放一个字符。不要讲字符常量和字符串常量混淆,’a’是字符常量,”a”是字符串常量,”a”在内存中实际存放的是 a \0
字符串的输入输出方法:逐个字符的输入输出%c,整个字符串的输入输出%s。
第一:scanf和printf输入输出字符串
(1)逐个字符的输入输出:
char a[5]={};
int i=0;
for(i=0;i<5;i++)
{
scanf("%c",&a[i]);
printf("%c",a[i]);
}
逐个字符的输入要加&,且给字符串定义了多少数组空间,就会输出空间大小的字符串,比方说定义了a[5],当输入字符为123456789时,只会输出前五个字符12345.
(2)整个字符串为单位的输入输出:
char a[5]={};
int i;
scanf("%s",a);
printf("%s\n",a);
整个字符串为单位的输入输出不用加&,但是当输入的字符串个数超过定义的字符串个数时,编译会报错(数据越界)。
第二:字符串输入输出函数
char a[5];
printf("输入字符串>");
gets(a);
printf("输入的字符串>:\n");
puts(a);
gets //字符串输入函数
puts //字符串输出函数
注意:输入串长度应小于字符数组个数