时间限制:1秒
空间限制:65536K
热度指数:3277
算法知识视频讲解
题目描述
不借用任何字符串库函数实现无冗余地接受两个字符串,然后把它们无冗余的连接起来。
输入描述:
每一行包括两个字符串,长度不超过100。
输出描述:
可能有多组测试数据,对于每组数据, 不借用任何字符串库函数实现无冗余地接受两个字符串,然后把它们无冗余的连接起来。 输出连接后的字符串。
示例1
输入
abc def
输出
abcdef
//#include "stdafx.h"
#include"stdio.h"
#include<iostream>
using namespace std;
typedef long long ll;
int n;
char a;
int main(){
// freopen("c://jin.txt","r",stdin);
int i=1,j=1;
char *p1=(char *)malloc(sizeof(char));
char *p2=(char *)malloc(sizeof(char));
while((a=getchar())!=' '){
p1=(char *)realloc(p1,sizeof(char)*i);//用realloc的时候注意有两个参数,一个指针,一个size
*(p1+i-1)=a;
i++;
}
p1=(char *)realloc(p1,sizeof(char)*i);
*(p1+i-1)='\0';
while((a=getchar())!='\n'){
p2=(char *)realloc(p2,sizeof(char)*j);
*(p2+j-1)=a;
j++;
int b=a;
}
p2=(char *)realloc(p2,sizeof(char)*j);
*(p2+j-1)='\0';
p1=(char *)realloc(p1,sizeof(char)*(i+j-1));//特别注意此处要申请i+j-1个字符空间
for(int k=0;k<j;k++){
*(p1+i+k-1)=*(p2+k);
}
cout<<p1<<endl;
// freopen("CON","r",stdin);
//system("pause");
return 0;
}