大家好,我对指针这理解还不是很熟悉,所以有些疑惑,请大家给我分析这个代码
这是将str2拷贝给str1的函数(是正确的),但我有点搞不懂为什么这里要借助一个临时指针呢,而像我下面那个我想不借助临时指针直接赋值的错误程序那样为什么就不能得到结果呢?
char *str_cpy(char *str1,char *str2){
char *temp=str1;
while(*str2!='\0')
{
*temp++ = *str2++;
}
*temp='\0'; //这个有什么用?好像我删除掉也没影响
return str1;
}
错误代码:
char *str_cpy(char *str1,char *str2){
while(*str2!='\0')
{
*str1++ = *str2++;
}
return str1;
}
求指教。。。
string 类型以\0结尾我知道,我但我把它去掉返回的仍然是一样的。
不借助临时指针我那代码肯定是指针指错了那样我知道,那怎么改呢?