字符串比较
strcmp和strncmp原型 比较两个字符串是否相等
大纲和原型
#include <string.h>
int strcmp(const char *str1,const char *str2);
int strncmp(const char *str1,const char *str2,size_t n);
strcmp函数
strcmp() 比较两个字符串,字符串str1和字符串str2.
返回值
str1和str2相等 | str1和str2不相等 | |
---|---|---|
返回值 | 0 | 非0 |
实例
#include <string.h>
#include <stdio.h>
/*
int strcmp(const char *str1,const char *str2);
int strncmp(const char *str1,const char *str2,size_t n);
*/
int main(int argc,char *argv[])
{
char s1[]={"hello,world"};
char s2[]={"hello,man"};
char *s2_copy=s2;
int num;
num =strcmp(s1,s2);
printf("num is %d\n",num);
num = strcmp(s2_copy,s2);
printf("num is %d\n",num);
return 0;
}
函数返回值
hz@titan1:~/c_program/linux$ gcc string_cmp.c
hz@titan1:~/c_program/linux$ ./a.out
num is 10 //不相等,返回非零
num is 0 //相等,返回零
strncmp函数
在两个字符中,比较前n个字符。相同返回0,不相同返回非0。
num =strncmp(s1,s2,5);
结果
hz@titan1:~/c_program/linux$ ./a.out
num is 0
num is 0