今天讲的是字符串数组与字符串,与其他类型相似,字符数组来存放字符串,但是该数组中包含了一个‘\0’的字符,代表字符串的结尾。主要讲了一下几个关键的字符串:
strlen() 字符串长度。 strlen(str1) 计算str1
strcpy()复制字符串。strcpy(str2,str1)把str1复制给str2
strcat()链接字符串。strcat(str1,str2)把str2贴在str1后
strcmp()比较字符串。strcmp(str1,str2)比较2个的大小。
eg:#include <stdio.h>
#include <string.h>
void main()
{
char gender[10];
printf("请输入您的性别(male/female):");
scanf("%s",gender);
if(strcmp(gender,"male") == 0)
{
printf("欢迎,先生!");
}
else if(strcmp(gender,"female") == 0)
{
printf("欢迎,女士!!");
}
else
{
printf("欢迎,东西!");
}
printf("\n");
/*
char gender1[] = "hellp";
char gender2[] = "helloworld";
printf("%d\n",strcmp(gender1,gender2));
*/
/*
//自己悲催的实现
char gender1[100] = "male";
char gender2[100] = "male";
int i = 0;
int length1,length2;
//计算第一个字符串长度
for(i = 0; i < 100; i++)
{
if(gender1[i] == '\0')
{
break;
}
}
length1 = i;
//计算第二个字符串长度
for(i = 0; i < 100; i++)
{
if(gender2[i] == '\0')
{
break;
}
}
length2 = i;
if(length1 != length2)
{
printf("两个字符串不相等!\n");
}
else
{
for(i = 0; i < length1; i++)
{
if(gender1[i] != gender2[i])
{
break;
}
}
if(i == length1)
{
printf("两个字符串相等!\n");
}
else
{
printf("两个字符串不相等!\n");
}
}
*/
}
这是老师讲的实现strcmp的功能和自己实现的功能的差距,由此可以看出来直接使用的简单程度,因此要多思考才能找到更好更便捷的办法