各个函数的作用:
strlen(s) : 返回S的长度,不包括字符串结束符NULL;
strcmp(s1,s2) :比较两个字符串是否相同,若s1==s2,返回0,若s1>s2则返回正数,若s1<s2则返回负数;
strcat(s1,s2):将字符串s2连接到s1上,返回 s1;
strcpy(s1,s2):将s2,复制到s1,返回 s1.
1.
int strlen(const char* src)//const 2'
{assert(str != NULL); // 3'
int count =0;
while(*str++ != '\0') //2'
count++;
return count;//3'
}
2.
char* strcat(char *strD, const char *strS)
{
assert(strD != NULL && strS != NULL);
char* address = strD;
while(*strD != '\0')//走到末尾
strD ++;
while(*strD++ = *strS++);//cat
return address; //attention
}
3.
char *strcpy(char *strDest, const char *strScr)
{
char *address=strDest;
assert((strDest != NULL) && (strScr != NULL));
while(*strScr) //是while(*strScr != ’\0’)的简化形式;
{
*strDest++ = *strScr++;
}
*strDest = '\0'; //当strScr字符串长度小于原strDest字符串长度
return address; //时,如果没有改语句,就会出错了。
}
4.int strcmp (const char *str1,const char *str2)
{
int len = 0;
assert((str1 != '\0') && (str2 != '\0'));
while(*str1 && *str2 && (*str1 == *str2))
{
str1++;
str2++;
}
return *str1-*str2;
}