main()
{ char a[20],b[20],c[40],*p_a=a,*p_b=b,*p_c=c;
scanf(“%s”,a);
scanf(“%s”,b);
while(*p_a!=’\0′)
{ *p_c=*p_a;
p_c++; p_a++;
}
while(*p_b!=’\0′)
{ *p_c=*p_b;
p_c++; p_b++;
}
printf(“%s”,p_c);
getch();
}
把两个字符串连成一个字符串,,为什么我总不能得到正确答案
>> 本文固定链接: http://www.vcgood.com/archives/2892
main()
{ char a[20],b[20],c[40],*p_a=a,*p_b=b,*p_c=c;
scanf(“%s”,a);
scanf(“%s”,b);
while(*p_a!=’\0′)
{ *p_c=*p_a;
p_c++; p_a++;
}
while(*p_b!=’\0′)
{ *p_c=*p_b;
p_c++; p_b++;
}
*p_c=’\0′;
printf(“%s”,c);
getch();
}
应该是这样,字符串要以’\0′结尾,同时,你用printf(“%s”,p_c)输出时,p_c已经不是字符串数组的首地址了.
谢谢了,,,看来的想的还是不够周密呀