输入2个字符串分别存入两个一维字符数组,将其连接后存入第3个一维字符数组后输出。要求用指
输入2个字符串分别存入两个一维字符数组,将其连接后存入第3个一维字符数组后输出。要求用指向一维字符数组的指针变量来处理其中的字符串。Qingyong下列两种方法编写程序:...
输入2个字符串分别存入两个一维字符数组,将其连接后存入第3个一维字符数组后输出。要求用指向一维字符数组的指针变量来处理其中的字符串。Qingyong 下列两种方法编写程序:使用系统函数中的字符串连接函数
strcat()和不使用系统函数中的字符连接函数strcat() 。 展开
strcat()和不使用系统函数中的字符连接函数strcat() 。 展开
2个回答
展开全部
#include "stdio.h"
#include "stdlib.h"
#include "memory.h"
int main()
{
char *str1 = (char *)malloc(100);
char *str2 = (char *)malloc(100);
char *str3 = (char *)malloc(200);
memset(str1,0,100);
memset(str2,0,100);
memset(str3,0,100);
printf("请输入字符串str1:");
scanf("%s",str1);
printf("\n请输入字符串str2:");
scanf("%s",str2);
int i = 0,j = 0;
for (;*(str1+i) != 0;i++)
*(str3+i) = *(str1+i);
for (;*(str2+j) != 0;j++)
*(str3+i++) = *(str2+j);
i = 0;
printf("\n字符串连接后为:");
while (*(str3+i) !=0)
printf("%c",*(str3+i++));
return 0;
}
运行效果:
请输入字符串str1:asdfasdf
请输入字符串str2:231564asdfe
字符串连接后为:asdfasdf231564asdfe请按任意键继续. . .
2.使用strcat
#include "stdio.h"
#include "stdlib.h"
#include "string.h"
int main()
{
char *str1 = (char *)malloc(100);
char *str2 = (char *)malloc(100);
char *str3 = (char *)malloc(200);
memset(str1,0,100);
memset(str2,0,100);
memset(str3,0,100);
printf("请输入字符串str1:");
scanf("%s",str1);
printf("\n请输入字符串str2:");
scanf("%s",str2);
strcat(str3,str1);
strcat(str3,str2);
printf("\n字符串连接后为:");
puts(str3);
return 0;
}
运行效果:
请输入字符串str1:asdf;l
请输入字符串str2:65457
字符串连接后为:asdf;l65457请按任意键继续. . .
#include "stdlib.h"
#include "memory.h"
int main()
{
char *str1 = (char *)malloc(100);
char *str2 = (char *)malloc(100);
char *str3 = (char *)malloc(200);
memset(str1,0,100);
memset(str2,0,100);
memset(str3,0,100);
printf("请输入字符串str1:");
scanf("%s",str1);
printf("\n请输入字符串str2:");
scanf("%s",str2);
int i = 0,j = 0;
for (;*(str1+i) != 0;i++)
*(str3+i) = *(str1+i);
for (;*(str2+j) != 0;j++)
*(str3+i++) = *(str2+j);
i = 0;
printf("\n字符串连接后为:");
while (*(str3+i) !=0)
printf("%c",*(str3+i++));
return 0;
}
运行效果:
请输入字符串str1:asdfasdf
请输入字符串str2:231564asdfe
字符串连接后为:asdfasdf231564asdfe请按任意键继续. . .
2.使用strcat
#include "stdio.h"
#include "stdlib.h"
#include "string.h"
int main()
{
char *str1 = (char *)malloc(100);
char *str2 = (char *)malloc(100);
char *str3 = (char *)malloc(200);
memset(str1,0,100);
memset(str2,0,100);
memset(str3,0,100);
printf("请输入字符串str1:");
scanf("%s",str1);
printf("\n请输入字符串str2:");
scanf("%s",str2);
strcat(str3,str1);
strcat(str3,str2);
printf("\n字符串连接后为:");
puts(str3);
return 0;
}
运行效果:
请输入字符串str1:asdf;l
请输入字符串str2:65457
字符串连接后为:asdf;l65457请按任意键继续. . .
展开全部
#include <stdio.h>
int main()
{
char str1[256], str2[256], str3[512];
char *ptr1, *ptr2;
printf("str1: ");
scanf("%s", str1);
printf("str2: ");
scanf("%s", str2);
ptr1 = str1;
ptr2 = str3;
while (*ptr1 != '\0')
*ptr2++ = *ptr1++;
ptr1 = str2;
while (*ptr1 != '\0')
*ptr2++ = *ptr1++;
*ptr2 = '\0';
printf("str3: %s\n", str3);
return 0;
}
int main()
{
char str1[256], str2[256], str3[512];
char *ptr1, *ptr2;
printf("str1: ");
scanf("%s", str1);
printf("str2: ");
scanf("%s", str2);
ptr1 = str1;
ptr2 = str3;
while (*ptr1 != '\0')
*ptr2++ = *ptr1++;
ptr1 = str2;
while (*ptr1 != '\0')
*ptr2++ = *ptr1++;
*ptr2 = '\0';
printf("str3: %s\n", str3);
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询