extern
int
strcmp
(
const
char
*s1,
const
char
*s2);
比较两个字符串
设这两个字符串为str1,str2,
若str1=str2,则返回零;
若str1<str2,则返回负数;
若str1>str2,则返回正数
两个字符串自左向右逐个字符相比(按ASCII值大小相比较),直到出现不同的字符或遇'\0'为止
int strcmp(const char *str1,const char *str2)
{
/*不可用while(*str1++==*str2++)来比较,当不相等时仍会执行一次++,
return返回的比较值实际上是下一个字符。
应将++放到循环体中进行。
*/
while(*str1 == *str2)
{
assert((str1 != NULL) && (str2 != NULL));
if(*str1 == '\0')
return ;
str1++;
str2++;
}
return *str1 - *str2;
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)