#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';
}
添加回答
举报
0/150
提交
取消