为了账号安全,请及时绑定邮箱和手机立即绑定

您好,请教一下,想编写一个函数,实现strcat()的功能,但是不知道哪里写错了?

您好,请教一下,想编写一个函数,实现strcat()的功能,但是不知道哪里写错了?

Qyouu 2021-04-07 11:07:23
#include<stdio.h>void string_link(char str1[],char str2[]){int i,j;{for(i=0;str1[i]='\0';i++)str1[i]='\0';for(j=0;str2[j]='\0';j++)str1[i+j]=str2[j];str1[i+j]='\0';}}void main(){char str1[30]={"BeiJing"},str2[30]={"ShangHai"};string_link(str1,str2);printf("%s",str1);}
查看完整描述

1 回答

?
九州编程

TA贡献1785条经验 获得超4个赞

根据你的函数意思,string_link应该是把str2接在str1后面,然后把str1作为结果输出,如果是这样,
1. 第一个循环应该是仅仅判断str1的'\0'在哪里,不应该赋值
2. 相等判断是==,不是一个=
完整函数是
void string_link(char str1[],char str2[])
{
int i,j;
for(i=0; str1[i] != '\0'; i++);
for(j=0; str2[j] != '\0'; j++)
str1[i+j] = str2[j];
str1[i+j]='\0';
}

查看完整回答
反对 回复 2021-04-11
  • 1 回答
  • 0 关注
  • 352 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信