在C语言中没有字符串类型,用字符数组处理字符串
字符数组定义:char 数组名 [常量表达式][常量表达式]
说明:一维字符数组,用于存储和处理一个字符串 。二维字符数组,用于同时存储和处理多个字符串
输入输出方法:逐个字符输入输出:%c 整个字符串输入输出:%s
一 :用scanf输入字符串,printf输出字符串
逐个字符处理:
#include<stdio.h>
int main()
{
char ch[5];
for (int i = 0; i < 5; i++)
{
scanf("%c", &ch[i]);
}
for (int i = 0; i < 5; i++)
{
printf("%c", ch[i]);
}
system("pause");
return 0;
整个字符串处理:
#include<stdio.h>
int main()
{
char ch[5];
scanf("%s", ch);
printf("%s", ch);//无需&
system("pause");
return 0;
}
说明:以字符串为单位处理时,直接使用数组名,无需&
输入字符串时,字符个数要小于数组的长度,例如输入5个字符,定义的字符数组至少应该有6个元素
输入字符串时,遇到回车或空格,输入结束,并且自动在串后面加上结束标志'\0'
输出字符串时,遇到字符串结束标志’\0',输出结束。
二 : 用字符串处理函数输入和输出 在<string.h>头文件中
字符串输出函数puts
格式:puts(字符数组)
功能:向显示器输出字符串(输出完,自动换行,即用'\n'替'\0')
说明:字符数组必须以'\0'结束
字符串输入函数gets
格式:gets(字符数组)
功能:从键盘键入以回车结束的字符串放入字符数组中,并自动加’\0'
说明:输入串长度应小于字符数组维数,字符串中可以包含空格
#include<string.h>
int main()
{
char str[10];
printf("请输入字符串");
gets(str);
printf("请输出字符串");
puts(str);
system("pause");
return 0;
}