字符串和专门处理字符串的函数

用于输入输出的字符串函数,在使用前应包含头文件"stdio.h",使用其它字符串函数则应包含头文件"string.h"。

输出字符串中最大者(strcmp函数比较,strcpy复制

#include "stdio.h"
#include"string.h
void main()
{
    char str[3][20];
    char string[20];
    int i;
    for (i=0;i<3;i++)
    	{gets(str[i]);}//for只循环这里
    	if(strcmp(str[0],str[1])>0)
    	strcpy(string,str[0]); //将str[0]赋给前面
    	else strcpy(string,str[1]);
    	if(strcmp(string,str[2])>0)
    	printf("字符组最大的为%s\n",string);
}

首先让字符串存入数组,字符串的比较规则是:将两个字符串自左向右逐个字符相比,直到出现不同的字符或者遇到’\0’为止

/*strcmp大于0证明前面的大于后面的是个正数,若相等则为0,小于0证明前面的小于后面的*/

char str1[10],str2[]=“China”;

这是strcpy与strncpy的区别

strcpy(字符数组1,字符串2),作用是将字符串2复制到字符组1中
strcpy(str1,str2);相当于strcpy(str1,“China”)
但char str1[10],str2 []=“China”;
str1=“China”; ; 错误
str1=str2;;
可以用strncpy函数将字符串2中前面n个字符复制到字符数组1中去*/
strncpy(str1,str2,2);
作用是将str2中最前面的2个字符复制到str1中取代str1中原有的最前面的2个字符;
在这里插入图片描述

strcat函数-字符串连接函数

char str1[30]=“People”
char str2[]=“China”
printf("%s",strcat(str1,str2));
输出:PeopleChina

gets函数—输入字符串的函数

其一般形式为:
gets(字符数组)
作用是输入一个字符串到字符数组
char str[];
gets(str);
**Computer(键入)

puts函数-----输出字符串的函数

其一般形式为:
puts(字符数组)
作用是将一个字符串输出到终端
char str[20]=“China”;
puts(str);
输出China

strcmp函数-----字符串比较函数

if(strcmp(str1,str2)>0)printf(“yes”);

strlen函数-----测字符串长度的函数

char str[10]=“China”;
printf("%d",strlen(str));
输出结果是5
也可以直接测试字符串常量的长度
strlen(“China”);

strlwr函数----转换为小写的函数

其一般形式为
strlwr(字符串)
函数的作用是将字符串中大写字母换成小写字母

strupr函数----转换为大写的函数

其一般形式为
strupr(字符串)
函数的作用是将字符串中小写字母换成大写字母

以下能正确进行字符串赋值,赋初值的语句组是()

A char[5]={‘a’ ‘e’ ‘i’ ‘o’ ‘u’}
B char s;s=“good!”;
C char s[5]=“good!”;
D char s[5];s=“good";

B正确
A char[5]={‘a’ ‘e’ ‘i’ ‘o’ ‘u’}; 没有终结符,不算字符串
*B char s;s=“good!”; //定义一个字符指针,然后让这个指针指向常量字符串"good!",正确
C char s[5]=“good!”; //"good!“有6个字符,s空间不够,会越界
D char s[5];s=“good”; //s是个数组名,是常量,不可以被赋值或者:

以下能正确进行字符串赋值或赋初值的语句组是:

A.char str[3]=“key”;
B.char str[3]={‘k’,‘e’,‘y’};
C.char str[4];str=“key”;
*D.char s; s=“key”;

A.必须有\0;
B.与A同理
C.str是名字,不能赋值
D.定义一个字符指针,指向字符串

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值