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

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

Qyouu
浏览 353回答 1
1回答

九州编程

根据你的函数意思,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';}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java
SQL Server