字符串比较函数,一般形式为strcmp(字符串1,
字符串2)。
比较规则:
对两个字符串自左至右逐个字符相比(按ASCII码值大小比较),直到出现不同的字符或遇到‘\0’为止。如果全部字符相同,则认为相等;若出现不相同的字符,则以第一个不相同的字符的比较结果为准。
如果两个字符串都由英文字母组成,则有一个简单的规律:在英文字典中位置在后面的为“大”,还要特别注意:小写字母比大写字母“大”。
返回值:
(1)字符串1=字符串2,返回0
(2)字符串1>字符串2,返回一个正整数
(3)字符串1<字符串2,返回一个负整数。
扩展资料:
规则
当s1<s2时,返回为负数;
当s1==s2时,返回值= 0;
当s1>s2时,返回正数。
即:两个字符串自左向右逐个字符相比(按ASCII值大小相比较),直到出现不同的字符或遇'\0'为止。如:
"A"<"B" "a">"A" "computer">"compare"
特别注意:strcmp(const char *s1,const char * s2)这里面只能比较字符串,即可用于比较两个字符串常量,或比较数组和字符串常量,不能比较数字等其他形式的参数。
ANSI标准规定,返回值为正数,负数,0 。而确切数值是依赖不同的C实现的。
Return Value
Returns an integral value indicating the relationship between the strings:
return value<0 the first character that does not match has a lower value inptr1than inptr2
return value=0 the contents of both strings are equal
return value>0 the first character that does not match has a greater value inptr1than inptr2
当两个字符串不相等时,C标准没有规定返回值会是1 或 -1,只规定了正数和负数。有些实现会返回1或-1,但将返回值与1或-1做比较的人,都是不合格的程序员。
有些会把两个字符的ASCII码之差作为比较结果由函数值返回。但无论如何不能以此条依据作为程序中的流程逻辑。
参考资料:百度百科-strcmpstrcmp是C语言中头文件<string.h>(字符串函数)中定义的一个用于对两组字符串进行比较的函数,它的返回值是int类型。
假设有两组字符串cs和ct,当cs<ct时,函数返回一个负数;当cs==ct时,函数返回0;当cs>ct时,函数返回一个正数。
即:两个字符串自左向右逐个字符相比(按ASCII值大小相比较),直到出现不同的字符或遇'\0'为止。如:"A"<"B" ,"a">"A" ,"computer">"compare" ,"comput">"comp"
strcmp函数原型为:int strcmp(const char *s1,const char * s2)
评论列表(0条)