//实现函数strlen的功能
unsigned int mystrlen(const char*str)
{
if (NULL == str)
{
printf("字符串为空\n");
return -1;
}
int length = 0;
while ((*str++) != '\0')
{
length++;
}
return length;
}
unsigned int mystrlenaddr(const char*str)
{
if (NULL == str)
{
printf("字符串为空!");
return -1;
}
int length = 0;
for (char*p = str; *p != '\0'; p++)
{
length++;
}
return length;
}
//strlen
void main()
{
char str[100] = "abcd";
int length = strlen(str);
printf("%d %d %d\n", sizeof(str), sizeof("calc"), strlen(str));//100 5 4
char *str2 = NULL;
printf("mystrlen=%d mystrlenaddr=%d\n\n", mystrlen(str), mystrlenaddr(str));
printf("mystrlen=%d mystrlenaddr=%d\n\n", mystrlen(str2), mystrlenaddr(str2));
system("pause");
}
更多资料 · 微信公众号搜索【CTO Plus】关注后,获取更多,我们一起学习交流。
关于公众号的描述访问如下链接