strncmp()函数,用于范围内,两个字符串的比较,n表示最大比较范围。
(1)函数原型
int strncmp(const char *_Str1,const char *_Str2,size_t _MaxCount);
(2)头文件
string.h
(3)功能
比较const char *_Str1,const char *_Str2所指的字符串内容,
并根据size_t _MaxCount确定比较范围,第一个遇到的不相等字符ASCII值差确定返回值。。\
相等:0
范围内_Str大于_Str2:1
范围内_Str小于_Str2:-1
(4)基础实例代码
printf("%d\n",strncmp("zobola","zobolb",5));
printf("%d\n",strncmp("zobola","zobolb",6));
(5)输出情况
(6)问题1:字符可以不可以
回答,不可以,字符char跟字符数组首地址char*完全不同
(7)问题2:n超过字符数组最大会怎么样?
回答:没有关系,N本身就是最大范围,而不是确定范围
printf("%d\n",strncmp("zobola","zobolb",1000));
(8)问题3:如果输入是字符数组,而不是字符串会怎么样?
回答:函数会只访问到'0'为止,如果没有则访问到结尾
char a[]="zobol\0we";
char b[]="zobol\0sds";
printf("%d\n",strncmp(a,b,9));
(9)问题4:如果两个字符串大小不一样怎么比?
回答,默认不足的补全为'0'
如有帮助,欢迎加我的个人公众号:zobol的魔法藏书室