C语言::strcmp函数功能、原型、用法及实例 - 高小调博客

C语言::strcmp函数功能、原型、用法及实例

功能

strcmp函数的功能是比较两个字符串.

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

原型

int strcmp( const char *s1, const char *s2 );

(定义于<string.h>)

参数

s1与s2都是以\0为结尾的字符串.

返回值

s1>s2 返回值>0(一些平台返回1)

s1<s2 返回值<0(一些平台返回-1)

s1=s2 返回值=0

注意事项

strcmp函数只能比较字符串,不能比较数字等其他形式的参数.

库中实现的核心代码

int __cdecl strcmp(const char *s1,const char *s2){
	int ret = 0;
	while(!(ret = (*(unsigned char*)s1 - *(unsigned char*)s2)) && *s1){
		++s1,++s2;
	}
	if(ret<0){
		ret = -1;
	}
	if(ret>0){
		ret = 1;
	}
	return (ret);
}

用法及实例

/*
*本代码版权归高小调博客所有 
*作者:高小调
*日期:2016-8-8
*代码功能:通过一个故事,简单的示范一下strcmp函数的用法
*搜集整理:高小调博客-(http://gaoxiaodiao.com) 
*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(){
    //某日,中国人、美国人、印度人、日本人一起旅游
    //不小心走到一片荒芜之地,遇到了食人族酋长
    //酋长说比中国人...短的人留下当作我的晚餐!
    char Chinese[]="我18cm";
    char American[]="我19cm";
    char Indian[]="我18cm";
    char Japanese[]="我15cm";
    //最终输出小于0的人,被食人族吃了,你猜是谁?
    printf("American:%d\n",strcmp(American,Chinese));
    printf("Indian:%d\n",strcmp(Indian,Chinese));
    printf("Japanese:%d\n",strcmp(Japanese,Chinese));
    system("pause");
    return 0;
}

输出

strcmp函数实例程序

小调祝你一切安好.

本文由高小调博客原创!

原文地址:http://gaoxiaodiao.com/p/22.html

如欲转载,请注明出处!

PS:今天没有PS...

上一篇:
下一篇: