strcmp(const char * a1,const char *a2)
用来比较a1和a2两个字符串(按ASCII值大小相比较),注意点是这个函数只能用来比较字符串
当a1<a2时候,返回的值<0
当a1>a2时候,返回的值>0
当a1=a2时候,返回的值=0
函数实现代码:
1. strcmp是按照字节比较的,如果出现"\0"的情况会终止比较。
2. strcmp比较的字符串,而memcmp比较的是内存块,strcmp需要时刻检查是否遇到了字符串结束的 \0 字符,而memcmp则完全不用担心这个问题,所以memcmp的效率要高于strcmp.
用来比较a1和a2两个字符串(按ASCII值大小相比较),注意点是这个函数只能用来比较字符串
当a1<a2时候,返回的值<0
当a1>a2时候,返回的值>0
当a1=a2时候,返回的值=0
函数实现代码:
/**
* strcmp - Compare two strings
* @cs: One string
* @ct: Another string
*/
int strcmp(const char *cs, const char *ct)
{
signed char __res;
while (1)
{
if ((__res = *cs - *ct++) != 0 || !*cs++)
break;
}
return __res;
}
备注:
1. strcmp是按照字节比较的,如果出现"\0"的情况会终止比较。
2. strcmp比较的字符串,而memcmp比较的是内存块,strcmp需要时刻检查是否遇到了字符串结束的 \0 字符,而memcmp则完全不用担心这个问题,所以memcmp的效率要高于strcmp.