strcmp、strncmp和 memcmp的异同
strcmp
函数原型:
int strcmp(const char *str1,const char *str2)
头文件:
<string.h>
返回值:
若str1==str2,则返回零;
若str1>str2,则返回1;
若str1<str2,则返回-1。
作用:按照ASCII码,逐字符比较str1和str2,若字符相同依次向后,若第一次字符出现不同,ASCII码大的字符串大,与字符串长度无关。
模拟实现:
#include<stdio.h>
#include<windows.h>
#include<assert.h>
int My_Strcmp(char *str1, const char *str2)
{
assert(str1);
assert(str2);
int ret = 0;
while (!(ret=*(unsigned char*)str1\
- *(unsigned char*)str2)&&*str1&&str2)
{
++str1, ++str2;
}
if