strcmp,strcmp的用法
大家好,今天我将为大家揭秘strcmp和strcmp的用法的奥秘,希望我的分享能给你带来新的启发和知识。
strcmp的用法
strcmp(str1,str2)
是字符串比较函数
其作用是:
当str1=str2时,返回0
当str1>str2时,返回一个正数
当str1<str2时,返回一个负数
如何判断str1和str2的大小呢?这里C++系统是用吧str1和str2逐位进行比较,即将每一位按照其ASCII值进行一个str1到str2的减法,当出现第一个不相等的位的时候,就返回计算结果
所以abcd与abc的大小比较,strcmp("abcd","abc")最后会返回一个正数,这个数是c的ASCII值,而不是1
strcmp在c语言中是什么意思呢
strcmp函数是string compare(字符串比较)的缩写,用于比较两个字符串并根据比较结果返回整数。基本形式为strcmp(str1,str2),若str1=str2,则返回零;若str1<str2,则返回负数;若str1>str2,则返回正数。
扩展资料:
规则:
当s1<s2时,返回为负数;
当s1=s2时,返回值= 0;
当s1>s2时,返回正数。
即:两个字符串自左向右逐个字符相比(按ASCII值大小相比较),直到出现不同的字符或遇'\0'为止。
参考资料:百度百科——strcmp
strcmp函数是怎样用的
strcmp函数用法:
strcmp()用来比较字符串(区分大小写),其原型为:int strcmp(const char*s1, const char*s2);s1, s2为需要比较的两个字符串。
字符串大小的比较是以ASCII
码表上的顺序来决定,此顺序亦为字符的值。strcmp()首先将s1第一个字符值减去s2第一个字符值,若差值为0
则再继续比较下个字符,若差值不为0则将差值返回。例如字符串"Ac"和"ba"比较则会返回字符"A"(65)和'b'(98)的差值(-33)。
举例:
#include<string.h>
main(){
char*a="aBcDeF";
char*b="AbCdEf";
char*c="aacdef";
char*d="aBcDeF";
printf("strcmp(a, b):%d\n", strcmp(a, b));
printf("strcmp(a, c):%d\n", strcmp(a, c));
printf("strcmp(a, d):%d\n", strcmp(a, d));
}
输出结果:
strcmp(a, b): 32
strcmp(a, c):-31
strcmp(a, d): 0
扩展资料:
strcmp使用规则:
一、当两个字符串不相等时,C标准没有规定返回值会是1或-1,只规定了正数和负数。有些实现会返回1或-1,但将返回值与1或-1做比较的人,都是不合格的程序。
二、有些会把两个字符的ASCII码之差作为比较结果由函数值返回。但无论如何不能以此条依据作为程序中的流程逻辑。
参考资料来源:百度百科—strcmp
C语言中strcmp是什么意思有什么功能和作用
strcmp是比较两个字符串的大小,两个字符串相同时返回0,第一个字符串大于第二个字符串时返回一个正值,否则返回负值.
比较两个字符串的算法是:逐个比较两个串中对应的字符,字符大小按照ASCII码值确定,从左向右比较,如果遇到不同字符,所遇第一对不同字符的大小关系就确定了两个字符串的大小关系,如果未遇到不同字符而某个字符串首先结束,那么这个字符串是较小的,否则两个字符串相等。
好了,本文到此结束,如果可以帮助到大家,还望关注本站哦!