字符型数组其实就是整数型数组换了一层包装,内容其实是相通的。
目录
1.puts
2.strcat
3.strcpy
4.strncpy
5.strcmp
6.strlen
7.strlwr
8.strupr
初始化和整数型相同,就是把数字换为一个个符号;
char m[15]={'h','e','l','l','o',' ','w','o','r','l','d'};
char m[15]={'h','e','l','l','o',' ','w','o','r','l','d','\0','\0','\0','\0'};
char m[]={'h','e','l','l','o',' ','w','o','r','l','d','\0'};
char m[12]={"hello world"};
char m[12]="hello world";
//上面五个相同
其中'\0'作为字符串数组的结束标志,也占用一个字符的内容数组的长度永远是字符长度加一;
如果输出字符串就用下面的%s就可以完整输出数组m了
#include <stdio.h>
int main()
{
char m[15]={'h','e','l','l','o',' ','w','o','r','l','d'};
printf("%s",m);
return 0;
}
同理,输入也用%s也可以实现;
#include <stdio.h>
int main()
{
char m[15];
scanf("%s",&m)
//gets(m);
//scanf("%[^\n]",&m)
printf("%s",m);
return 0;
}
但是有一点特别注意,在scanf中如果使用%s的话输入空格会串分字符串;
可以用第二种来完美解决这个问题,同时还简洁方便;
如果非想用scanf那么就用第三种第三种可以输入空格并保持不间断;
当然,字符串数组不止如此简单;
还可以有更简单的工具来帮助解决问题;
puts
它的作用是输出字符串,简洁又方便
#include <stdio.h>
int main()
{
char m[15]={'h','e','l','l','o',' ','w','o','r','l','d'};
puts(m);
return 0;
}
和gets是好兄弟;
strcat
它的作用就是将m2接到m1后面
#include <stdio.h>
int main()
{
char m1[30]=”People”;
char m2[]=”China”;
printf(”%s”, strcat(m1,m2));
return 0;
}
最终会输出 PeopleChina
strcpy
复制一串字符串,将m1复制到m2去
#include <stdio.h>
int main()
{
char m1[30]={0};
char m2[]="China";
strcpy(m1,m2);
//strcpy(m1,"China"); 这样也可以
return 0;
}
要保证的一键就是m1的空间足够大!;
strncpy
也可以利用strncpy将m1前几个字符转移到m2前几个字符;
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{
char c[] = "china";
char b[] = "people";
strncpy(c, b, 2);
printf("%s", b);
printf("%s", c);
return 0;
}
经过替换c变为peina;
strcmp
该函数用来比较的结果由函数带回;
//如果字符串1=字符串2,则函数值为0
//如果字符串1>字符串2,则函数值为一个正整数
//如果字符串1<字符串2,则函数值为一个负整数
if(m1>m2) printf("正确"); //这种形式是错误的
if(strcmp(ma,m2)>0) printf("正确"); //这种形式是正确的
strlen
用于直接测量字符串长度
#include <stdio.h>
int main()
{
int m;
char m1[30]=”People”;
m = strlen(m1);
printf(”%d”, m);
return 0;
}
结果输出为6哦;
strlwr
就是将字符串的大写字母换成小写字母
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{
char m1[30] = "People";
puts(strlwr(m1));
return 0;
}
输出people;
strupr
就是将字符串的小写字母换成大写字母
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{
char m1[30] = "People";
puts(strupr(m1));
return 0;
}
输出PEOPLE;