C语言,帮忙改代码,将两个字符串拼接起来,不用函数stract()
编写一个程序来连接两个字符串,并将第二个字符串放在第一个字符串之后。这两个字符串是从键盘输入的,它们存储在两个字符数组中。不要使用第三个数组,也不要使用strcat()函...
编写一个程序来连接两个字符串,并将第二个字符串放在第一个字符串之后。这两个字符串是从键盘输入的,它们存储在两个字符数组中。不要使用第三个数组,也不要使用strcat()函数
#include<stdio.h>
int main()
{
char a[100];
char b[100];
int i=0,j=0,lengthofa,lengthofb,c;
//输入第一个字符串
printf("please input the first string");
do
{
scanf("%c",&a[i]);
i++;
}while(a[i-1]!='\n');
lengthofa=i-1 ;
//输入第二个字符串
printf("please input the second string");
do
{
scanf("%c",&b[j]);
j++;
}while(b[j-1]!='\n');
lengthofb=j-1 ;
//拼接两个字符串
for(i=0;a[i]!=' ';i++)
{
printf("\n%s\n",a[i]);
c=i;
}
for(i=0;b[i]!=' ';i++)
a[c+i]=b[i];
printf("%s",a);
return 0;
} 展开
#include<stdio.h>
int main()
{
char a[100];
char b[100];
int i=0,j=0,lengthofa,lengthofb,c;
//输入第一个字符串
printf("please input the first string");
do
{
scanf("%c",&a[i]);
i++;
}while(a[i-1]!='\n');
lengthofa=i-1 ;
//输入第二个字符串
printf("please input the second string");
do
{
scanf("%c",&b[j]);
j++;
}while(b[j-1]!='\n');
lengthofb=j-1 ;
//拼接两个字符串
for(i=0;a[i]!=' ';i++)
{
printf("\n%s\n",a[i]);
c=i;
}
for(i=0;b[i]!=' ';i++)
a[c+i]=b[i];
printf("%s",a);
return 0;
} 展开
1个回答
展开全部
拼接部分的代码写错了。
#include<stdio.h>
int main()
{ char a[100];
char b[100];
int i=0,j=0;
//输入第一个字符串
printf("please input the first 告禅string:");
do
{ scanf("%c",&a[i]);
毁判 i++;
}
while(a[i-1]!='\n');
//输入第二个字符串
printf("please input the second string:");
纤友改 do
{ scanf("%c",&b[j]);
j++;
}
while(b[j-1]!='\n');
//拼接两个字符串
for(i--,j=0; b[j]!='\n'; ) //i先定位到原串尾
a[i++]=b[j++]; //把b串全部复制过来
a[i]='\0'; //设置新的串尾
printf("%s",a);
return 0;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询