一,复制完成后*q不加‘\0’——————导致末尾蜜汁出现一个框框
#include<stdio.h>
int main()
{
char str1[]="life,l love you";
char str2[20];
char *p,*q;
p=str1;
q=str2;
while(*p!='\0')
{
*q=*p;
p++;
q++;
}
puts(str2);
return 0;
}
正确方法
#include<stdio.h>
int main()
{
char str1[]="life,l love you";
char str2[20];
char *p,*q;
p=str1;
q=str2;
while(*p!='\0')
{
*q=*p;
p++;
q++;
}
*q='\0';
puts(str2);
return 0;
}
二,指针的移动
正确:q++ 错误:*q++
三,指针内容之间的赋值
正确:*p=*q 错误:p=q
三,开头的引用
正确:p=str1;
p=&str[0];