我们知道字符串的意思是什么,也知道函数的意思是什么。
那字符串函数是什么呢?
咱先看百度百科怎么说,
长什么样?
strcpy、strlen、strcmp…
格式呢?
注意事项:
1.strlen()获取字符串的长度,在字符串长度中是不包括‘\0’且汉字和字母的长度是不一样的。
#include <stdio.h>
#include<string.h>
int main(){
char str1[]="你可以的";
char str2[]={'a','b','c','\0'};
printf("str1[]='你可以的'字符串长度为%d\n",strlen(str1));
printf("str2[]='a','b','c'的字符串长度为%d\n",strlen(str2));
return 0;}
输出结果:
2.strcmp()在比较的时候会把字符串先转换成ASCII码再进行比较,返回的结果为0表示s1和s2的ASCII码相等,返回结果为1表示s1比s2的ASCII码大,返回结果为-1表示s1比s2的ASCII码小。
#include <stdio.h>
#include<string.h>
int main(){
char str1[]="x";
char str2[]="y";
char str3[]="x";
printf("x的ASCII码是%d\n",'x');
printf("y的ASCII码是%d\n",'y');
printf("z的ASCII码是%d\n",'x');
printf("x与y比较结果为%d\n",strcmp(str1,str2));
printf("y与z比较结果为%d\n",strcmp(str2,str1));
printf("x与z比较结果为%d\n",strcmp(str3,str1));
return 0;}
3.strcpy()拷贝之后会覆盖原来字符串且不能对字符串常量进行拷贝
4.strcat在使用时s1与s2指的内存空间不能重叠,且s1要有足够的空间来容纳要复制的字符串