用于输入输出的字符串函数,在使用前应包含头文件"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.定义一个字符指针,指向字符串