c语言中比较字符串的大小的函数,c++中比较字符串大小
头文件
原型
解释
返回值
#包含stdio.h
int strcmp(常量字符*s1,常量字符*s2)
比较s1指向的字符串和s2指向的字符串的大小关系(从第一个字符开始一个一个的开始,当出现不同的字符时,可以确定这些字符的大小关系)。
如果s1和s2相等,则返回0;如果s1大于s2,则返回正整数值;如果s1小于s2,则返回负整数值。
#包含stdio.h
#包含字符串. h
int main(void) {
char str[]= 1 ;
char * p= 2
if(strcmp(str,p)==0) {
Puts(str等于* p );
} else if(strcmp(str,p) 0) {
Puts(str大于* p );
}否则{
Puts(str小于* p );
}
返回0;
}运行结果:
strcmp函数的实现:
int strcmp(const char *s1,const char *s2) {
while (*s1==*s2) {
if(*s1==\0) {
返回0;
}
S1;
S2;
}
return(无符号字符)*s1 -(无符号字符)* s2
}strncmp函数指定头文件的前n个字符串进行比较
原型
解释
返回值
#包含stdio.h
int strncmp(const char *s1,const char *s2,size_t n)
比较s1指向的字符数组的前n个字符和s2指向的字符数组的大小关系。
如果s1和s2相等,则返回0;如果s1大于s2,则返回正整数值;如果s1小于s2,则返回负整数值。
#包含stdio.h
#包含字符串. h
int main(void) {
char str[]= 423 ;
char * p= 192
if(strncmp(str,p,2)==0) {
Puts(str等于* p );
} else if(strncmp(str,p,2) 0) {
Puts(str大于* p );
}否则{
Puts(str小于* p );
}
返回0;
}运行结果:
strncmp函数的实现:
int strncmp(const char *s1,const char *s2,size_t n) {
while (n *s1 *s2) {
如果(*s1!=*s2) {
return(无符号字符)*s1 -(无符号字符)* s2
}
S1;
S2;
n-;
}
如果(!n) {
返回0;
}
如果(*s1) {
返回1;
}
return-1;
}摘要:
stcmp函数和strncmp函数根据字符编码判断字符串的大小。字符编码代表一个字符的值,这个值取决于这个环境下采用的字符编码系统。Strcmp函数和strncmp函数无法比较具有可移植性的字符串(不依赖于运行环境中的字符编码等。).strncmp函数可以在前n个字符中没有空字符的情况下进行比较(可以没有字符串的情况下进行比较)。
转载请联系作者授权,否则将追究法律责任。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。