int strcmp(const char *s1,const char *s2)
{
assert(s1!=NULL&&s2!=NULL);//指针为空(NULL)则表示内存分配不成功,或者理解为尚未分配内存!! 这里是断言,要包含头文件 #include <assert.h>
int ret=0;
while(!(ret= *(unsigned char*)s1-*(unsigned char*)s2) && *s2)
s1++,s2++; //这里有一个逗号运算符,其优先级是最低的,每个表达式分别运算,而整个表达式的值是最后一个表达式的值!
if(ret<0)
ret=-1;
else if(ret>0)
ret=1;
return (ret);
}