#include <stdio.h>
int main()
{
//错误代码
// char *s1="good";// s1是字符串常量指针,在存储中指向常量区不可修改,
// char *s2="morning";
// while(*s1)
// s1++;
// while(*s2)
// *s1++=*s2++;
// *s1='\0';
// printf("%s",*s1);
//正确代码
char s1[80],s2[30],*p1=s1,*p2=s2;//
gets(s1);
gets(s2);
while(*p1) p1++;//移动指针到串尾
while(*p1++=*p2++);//连接串
p1=s1;
p2=s2;
printf("%s",p1);
}
解释:
while(*p1++=*p2++);//while在判断时候就赋值;
也可以写成
while(*p2) *p1++=*p2++;//连接串
*p1='\0';