编一程序,将两个字符串连接起来,不要用strcat函数

 我来答
59分粑粑分享生活
高粉答主

2020-05-13 · 专注生活好物分享,解答日常方方面面的问题
59分粑粑分享生活
采纳数:326 获赞数:119794

向TA提问 私信TA
展开全部

方法和详细的操作步骤如下:

1、第一步,打开pycharm编辑器,见下图,转到下面的步骤。

2、第二步,执行完上面的操作之后,在文件中写一个注释,见下图,转到下面的步骤。

3、第三步,执行完上面的操作之后,创建第一个字符串str1
 =“ my name”,见下图,转到下面的步骤。

4、第四步,执行完上面的操作之后,创建第二个字符串str2
 =“ is feng”,见下图,转到下面的步骤。

5、第五步,执行完上面的操作之后,将两个字符串拼接在一起以形成新的字符串str3
 = str1 + str2,见下图,转到下面的步骤。

6、第六步,执行完上面的操作之后,打印出连接的字符串,见下图,转到下面的步骤。

7、第七步,执行完上面的操作之后,运行该程序并获得结果,见下图。这样,就解决了这个问题了。

帐号已注销
推荐于2017-11-26 · TA获得超过961个赞
知道小有建树答主
回答量:1221
采纳率:0%
帮助的人:528万
展开全部
上边那位同志的操作有些危险,还有错误。
函数的引数void *mystrcat(char* s1, char* s2)
第一个引数输入在函数外部 char *a="asdfasdf" 声明 编译通过但是运行会出现错误 (*a 指向的内容被视为是常量,不可改变)
或者 char a[]="ab",也会出错,(长度超限,运行时错误)
除非char a[100]="ab",2个字符串长度不超过100才会通过。

最好状态知道2个字符串长度,建立一个新字符串把2个字符串复制进去 如果不知道长度的情况,就应该用连表
最简单的状态,2个知道长度的字符串。
int main()
{
char *a="qwet",*b="woei";//2个4长度的字符串
char c[20]; //一个长度大于2字符串长度的的字符数组
int i,j;
for( i=0,j=0;*(a+i);i++ ,j++)//第一个字符串复制,到遇到结束标志停止
c[j]=*(a+i);
for(i=0 ; *(b+i);i++,j++ )//第二个字符串复制,到遇到结束标志停止
c[j]=*(b+i);
c[j]='\0'; //给字符数组加入结束标志
for( i=0 ; c[i] ;i++ )
printf("%c ",c[i]);
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
L_o_o_n_i_e
2006-05-14 · TA获得超过4.2万个赞
知道大有可为答主
回答量:8507
采纳率:38%
帮助的人:5074万
展开全部
将两个字符串连接起来,不用strcat函数,可用sprintf呀.
下面是把字符串a和字符串b,放到x里,就连好了.

#include <stdio.h>
#include <stdlib.h>
main()
{
char a[]="abcd fgh -- "; // 有字符"空白"号也不怕
char b[]="12345 7890";
char x[80];
sprintf(&x[0],"%s%s\0",a,b); // 把ab连起来
printf("%s",x); // 打出结果来看看
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
风梳烟沐的海角
2021-03-11
知道答主
回答量:9
采纳率:0%
帮助的人:4173
展开全部

先看运行截图:

运行截图

上代码:

#include <stdio.h>

#include <string.h> 

main(){

int i=0,j=0;

char a[100],b[10];

gets(a); //用来接收字符串

gets(b);

printf("a = %s\tb = %s\n",a,b);

while(a[i++] != '\0'); //找到a最后的一位

--i;

while((a[i++] = b[j++]) != '\0'); //将a和b连接起来 代码核心

i =0;

printf("a = ");

while(a[i] != '\0') printf("%c",a[i++]);  //输出a的值

return 0;

}

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小花ingfyq
2012-02-27 · TA获得超过130个赞
知道答主
回答量:56
采纳率:0%
帮助的人:28.5万
展开全部
#include<stdio.h>
int main()
{
int i,j;
char str1[80]={"China"};
char str2[80]={" is a Country"};
for(i=0;str1[i]!='\0';i++)//计算长度
;
for(j=0;str2[j]!='\0';j++,i++)
{
str1[i]=str2[j];
}
//str1[i]='\0';
printf("合成后:%s",str1);
putchar('\n');
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式