C语言指针实现字符串拷贝功能
1#include<stdio.h>
2void strcpy (char *pss,char *pds)
3{
4 while(*pds++=*pss++);
5}
6void main()
7{
8 char a[10]="CHINA",b[10],*pa,*pb;
9 pb=b;
10 pa=a;
11 strcpy (pa,pb);
12 printf("string a=%s\nstring b=%s\n",pa,pb);
13}
[解决办法]
至少要判断一下结束符把?
[解决办法]
while(*pss!='\0')
*pds++=*pss++
*pds='\0';
或者
while(*pss)
*pds++=*pss++
*pds='\0';
或者
while((*pds++=*pss++)!='\0');
或者
while(*pds++=*pss++); 当然这种写法最简洁
初学者或这样写
while((*pds=*pss)!='\0')
{
*pds++;
*pss++;
}
这些都是等价的