strcpy 与 strlen 函数实现
函数作用:strcpy 复制字符串,strlen 获取字符串长度
代码如下:
strcpy
char* strcpy(char* strDest,const char* strSrc) {
if(strSrc == NULL || strDest == NULL)
return NULL;
char* strDestCpy = strDest;
while((*strDest++ = *strSrc++)!='\0');
return strDestCpy;
}
strlen
int strlen(const char* strSrc){
if(strSrc == NULL)
return 0;
int len = 0;
while(*steSrc++ != '\0')
len++;
return len;
}
下面是技术总结
1.strcpy 函数为啥返回 char*
答:为了使用 链式表达式
比如:
int len = strlen(strcpy(strDest,strSrc));
2.对于有没有 “*”
答:这个问题有点小技巧,刚开始学习编程的人总搞混啥时候加 *
以 char* strDest
为例,strDest 是 char* 类型,说明是个指针而非字符串里的字符(比如a呀,b呀…)
*strDest 是个 char ,(可以理解为 星号被strDest带走了),肯定是个字符
在循环条件里,跟 ‘\0’ 比较的肯定是个字符,因此这两道题里的循环条件都是带 星号滴!
在判断条件里,要跟 NULL 进行比较,是个指针类型,因此是不带星号滴!