C语言笔试题(6)——strcmp函数的实现

来源:互联网 发布:json嵌套解析 编辑:程序博客网 时间:2024/04/30 04:50

原型:extern int strcmp(const char *s1,const char * s2);  

用法:#include <string.h>  

功能:比较字符串s1和s2。  

一般形式:strcmp(字符串1,字符串2)  

说明:  当s1<s2时,返回值<0  当s1=s2时,返回值=0  当s1>s2时,返回值>0  

即:两个字符串自左向右逐个字符相比(按ASCII值大小相比较),直到出现不同的字符或遇'\0'为止。

#include <stdio.h>#include <assert.h>int strcmp(const char *str1, const char *str2){    int ret = 0;    assert(str1 != NULL && str2 != NULL);    while(!(ret = *(unsigned char *)str1 - *(unsigned char *)str2) && *str1)        str1++, str2++;    if (ret > 0)        return 1;    else if (ret < 0)        return -1;        return 0;}int main(int argc, const char *argv[]){    char str1[] = "he";    char str2[] = "hef";    int i = 0;    i = strcmp(str1, str2);    printf("%d\n", i);    return 0;}




原创粉丝点击