C语言指针问题,输入两个字符串s1、s2,将s2接到s1前面,并输出。。不要用string里的函数,谢谢

#include<stdio.h>
void main()
{
char s1[20],*p1=s1;
char s2[20],*p2=s2;
int len1=0,len2=0;
gets(s1);
gets(s2);
for(p2=s2;*p2!='\0';p2++)
len2++;
for(p1=s1+len1;*p1!=s1[0];p1--)
*(p1+len2)=*p1;
for(p1=s1,p2=s2;*p2!='\0';p2++,p1++)
*p1=*p2;
printf("%s",s1);
}

第1个回答  推荐于2016-01-12
#include<stdio.h>
void main()
{
char s1[20],*p1=s1;
char s2[20],*p2=s2;
int len1=0,len2=0;
gets(s1);
gets(s2);
for(p2=s2;*p2!='\0';p2++)
len2++;
for(p1=s1;*p1!='\0';p1++)
len1++;
for(p1=s1;len1>0;p1++,len1--)
*(p1+len2)=*p1;
for(p1=s1,p2=s2;*p2!='\0';p2++,p1++)
*p1=*p2;
printf("%s",s1);
}追问

按你的改了以后还有点问题

本回答被提问者采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网