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

2024-11-25 03:34:10
推荐回答(5个)
回答1:

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

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

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

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

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

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

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

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

回答2:

上边那位同志的操作有些危险,还有错误。
函数的引数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]);
}

回答3:

将两个字符串连接起来或乎,不用strcat函数,可用sprintf呀.
下面是把字符串a和字符串b,放到x里,就连好了.

#include
#include 哪升
main()
{
char a[]="abcd fgh -- "; // 有字符"空白"号也不怕
char b[]="12345 7890";
char x[80];
sprintf(&x[0],"%s%s\0",a,b); // 把ab连衫缓悉起来
printf("%s",x); // 打出结果来看看
}

回答4:

先看运行截图:

运雹迹行截图

上代码:

#include

#include  

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;

}

回答5:

#include
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;
}