汽车行业工程师 发表于 2020-9-14 20:00:42

字符串连接代码求BUG

#include <stdio.h>

int main()
{
   int n;
   char *p1;
   char *p2;
   
   char a;
   scanf("%s",&a);
   char b;
   scanf("%s",&b);
   p1=a;
   p2=b;
   int i,m;
   scanf("%d",&m);
   int sum=0;
   for(i=0;*(p1+i)!='\0';i++)
   {sum=sum+1;
       }
   
   
   
       
        for(i=0;i<m;i++)
   {*(p2+i+sum)=*(p1+i);
   
       }
       *(p2+m+sum)='\0';
       printf("%s",p2);





c++c++c
该代码实现将P1字符串按指定个数连接到P2。如a输入fish,b输入c++,连接数为4。输出结果为c++c++c,看结果连接个数是传递过去了,但是为什么内容没有过去呢。求大神指导,谢谢。
       

召唤风云 发表于 2020-9-14 21:58:05

for(i=0;*(p1+i)!='\0';i++)
   {sum=sum+1;
         }
   这句错了,把按照你的说法应该把p1改改为p2

汽车行业工程师 发表于 2020-9-14 23:36:36

召唤风云 发表于 2020-9-14 21:58
for(i=0;*(p1+i)!='\0';i++)
   {sum=sum+1;
         }


老哥,还是不行呀

汽车行业工程师 发表于 2020-9-14 23:40:13

召唤风云 发表于 2020-9-14 21:58
for(i=0;*(p1+i)!='\0';i++)
   {sum=sum+1;
         }


对了,谢谢
页: [1]
查看完整版本: 字符串连接代码求BUG