作业帮 > 综合 > 作业

while(*p1) p1++; while(*p2) { *p1=*p2; p1++; p2++; } *p1=0;

来源:学生作业帮 编辑:搜狗做题网作业帮 分类:综合作业 时间:2024/04/29 02:31:20
while(*p1) p1++; while(*p2) { *p1=*p2; p1++; p2++; } *p1=0; 这个怎么理解啊?
void fun(char p1[],char p2[])
{
while(*p1) p1++;
while(*p2)
{
*p1=*p2;
p1++;
p2++;
}
*p1=0;
}
while(*p1) p1++; while(*p2) { *p1=*p2; p1++; p2++; } *p1=0;
首先明确两点:
1.p1,p2为指针变量,里面存放的是地址
2.*p1,*p2分别代表p1,p2指向的内存单元的内容
while(*p1)
p1++;
这里的*p1代表p1指向的内存单元的字符
等价于while(*p1 != '\0')
p1++,指向与它 相邻 的下一个存储单元