strcmp函数用于比较两个字符串并根据比较结果返回整数。基本形式为strcmp(str1,str2),若str1=str2,则返回零;若str1&str2,则返回负数;若str1&str2,则返回正数。
strcmp 函数是 string compare(字符串比较)的缩写,用于比较两个字符串并根据比较结果返回整数。基本形式为 strcmp(str1,str2),若 str1=str2,则返回零;若 str1<str2,则返回负数;若 str1>str2,则返回正数。
语法
extern int strcmp(const char *s1,const char *s2);
说明
规则
当 s1<s2 时,返回为负数;
当 s1=s2 时,返回值= 0;
当 s1>s2 时,返回正数。
即:两个字符串自左向右逐个字符相比(按 ASCII 值大小相比较),直到出现不同的字符或遇’’为止。如:
1.”A”<“B” 2.”A”<“AB” 3.”Apple”<“Banana” 4.”A”<“a” 5.”compare”<“computer”
特别注意:strcmp(const char *s1,const char * s2)这里面只能比较字符串,即可用于比较两个字符串常量,或比较数组和字符串常量,不能比较数字等其他形式的参数。
ANSI 标准规定,返回值为正数,负数,0 。而确切数值是依赖不同的 C 实现的。
当两个字符串不相等时,C 标准没有规定返回值会是 1 或 -1,只规定了正数和负数。
有些会把两个字符的 ASCII 码之差作为比较结果由函数值返回。但无论如何不能以此条依据作为程序中的流程逻辑。