字符型数组

字符型数组其实就是整数型数组换了一层包装,内容其实是相通的。

目录

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;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值