在C++平台编程:输入两个字符串(长度<40),连接后输出。(不得使用系统函数strcat())
4个回答
展开全部
#include <iostream>
using namespace std;
void MyStrcat(char *,char *);
int main()
{
char a[40],b[40];
puts("字符串a: ");gets(a);
puts("字符串b: ");gets(b);
cout<<endl;
puts(a);
puts(b);cout<<endl<<endl;
MyStrcat(a,b);
puts(a);cout<<endl;
return 0;
}
void MyStrcat(char *a,char *b)
{
int i,j;
for(i=0;a[i];i++);
for(j=0;b[j];j++,i++)
a[i]=b[j];
a[i]='\0';
}
using namespace std;
void MyStrcat(char *,char *);
int main()
{
char a[40],b[40];
puts("字符串a: ");gets(a);
puts("字符串b: ");gets(b);
cout<<endl;
puts(a);
puts(b);cout<<endl<<endl;
MyStrcat(a,b);
puts(a);cout<<endl;
return 0;
}
void MyStrcat(char *a,char *b)
{
int i,j;
for(i=0;a[i];i++);
for(j=0;b[j];j++,i++)
a[i]=b[j];
a[i]='\0';
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
来个简洁的:
#include <iostream>
using namespace std;
char* Strcat(char* des, char* src)
{
if (*src=='\0')
return des;
char* index = des;
while (*index != '\0') index++;
while (*index++ = *src++);
return des;
}
int main()
{
char str1[20],str2[20];
cin>>str1>>str2;
Strcat(str1,str2);
cout<<str1<<endl;
return 0;
}
#include <iostream>
using namespace std;
char* Strcat(char* des, char* src)
{
if (*src=='\0')
return des;
char* index = des;
while (*index != '\0') index++;
while (*index++ = *src++);
return des;
}
int main()
{
char str1[20],str2[20];
cin>>str1>>str2;
Strcat(str1,str2);
cout<<str1<<endl;
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我也来个:
#include<iostream>
#include<string>
using namespace std;
void main()
{
string str1,str2,str3;
cin>>str1>>str2;
str3=str1+str2;
cout<<str3<<endl;
}
#include<iostream>
#include<string>
using namespace std;
void main()
{
string str1,str2,str3;
cin>>str1>>str2;
str3=str1+str2;
cout<<str3<<endl;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我先做个记号 吃完饭回来做
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询