为了账号安全,请及时绑定邮箱和手机立即绑定

strcpy()函数指针问题?

strcpy()函数指针问题?

Yii
隔江千里 2019-02-05 10:06:02
char *strcpy(char *strDest, const char *strSrc){if ( strDest == NULL || strSrc == NULL)return NULL ;if ( strDest == strSrc)return strDest ;char *tempptr = strDest ;}while( (*strDest++ = *strSrc++) != ‘\0’)return tempptr ;改为while( (*tempptr++ = *strSrc++) != ‘\0’)return strDest;指针tempptr不是局部变量吗,函数结束不是销毁了吗,为什么可以返回呢?
查看完整描述

2 回答

?
qq_遁去的一_1

TA贡献1725条经验 获得超7个赞

首先你的程序写的就有问题,
char *strcpy(char *strDest, const char *strSrc)
{
if ( strDest == NULL || strSrc == NULL)
return NULL ;
if ( strDest == strSrc)
return strDest ;
char *tempptr = strDest ;
}
你根本就没有返回值。

查看完整回答
反对 回复 2019-03-20
?
牧羊人nacy

TA贡献1862条经验 获得超7个赞

你返回的是tempptr中保存的内存区的地址 也就是作为参数传进来的地址。而指针变量
tempptr 本身所占用的内存区和他所指向的内存区不是一回事。销毁的只是tempptr本身所占用的内存区

查看完整回答
反对 回复 2019-03-20
  • 2 回答
  • 0 关注
  • 867 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信