今天我们介绍strcmp函数并且进行它的模拟实现。
首先来认识一下strcmp函数
这个函数的功能是完成两个字符串的比较。那么问题来了,两个字符串怎么比较呢?当两个字符串拿来比较时,他们的长度不一定相同,相同下标下字符也不一定相同,那么他们的比较准则是什么呢?
C语言规定,两个字符串比较的方式为:
首先比较两个字符串首元素asc码值,若字符串1首元素asc码值大,则我们称“字符串1大于字符串2”,若字符串1首元素asc码值小,则我们称“字符串1小于字符串2”,若二者asc码值相同(即首元素相同),则按照刚刚的比较规则比较两个字符串中第二个字符,若第二个元素也相同,则比较第三个元素,以此类推。在这个过程中,一旦出现对应元素不相同的情况,立刻输出大小关系,不进行下一组元素的比较,若两个字符串所有元素都相同,则我们称“这两个字符串相同”。
了解了这个比较规则之后我们就来认识一下strcmp这个函数,经过查阅,我们了解到:
strcmp的声明为int strcmp ( const char * str1, const char * str2 );
从中可以看出:strcmp的形参为两个字符串的首元素地址(即数组名),返回值是整型。
st