strcmp() , strncmp();

来源:互联网 发布:vps安装nginx 编辑:程序博客网 时间:2024/06/06 13:24

int strncmp(const char *str1 , const char *str2 , int n);

比较 字符串的前n个字符,相等则返回 0;如果不相等那么返回 str1[i] - str2[i];

int my_strncmp(const char *str1 , const char *str2 ,int n){int i = 0;int k;for(i = 0 ;i<n-1; i++){if(*str1 == *str2){str1++;str2++;}}k = (*str1)-(*str2);return k;}void main(){const char *str1="aaabbbccc";const char *str2="aadaccc";int k = my_strncmp(str1 ,str2 ,3);cout<<"k="<<k<<endl;}


int strcmp(const char *str1 , const char *str2)

如果相同 那么返回 0;

如果str1 > str2 那么返回1;

否则返回 -1;

int my_strcmp(const char *str1 ,const char *str2){while((*str1 != '\0')&&(*str2 != '\0')&&(*str1 == *str2)){str1++;str2++;}if(*str1=='\0'&&*str2=='\0'){return 0;}else if(*str1 == '\0'&& *str2 != '\0'){       return -1;}else if(*str1 != '\0'&& *str2 == '\0'){       return 1;}else if(*str1 >*str2  ){       return 1;}else if(*str1 < *str2  ){       return -1;}}void main(){    constchar *str1="amcdef";const   char *str2="abcdef";int k = my_strcmp(str1 ,str2);cout<<"k = "<<k<<endl;}


 

原创粉丝点击