永发信息网

编写一个函数,实现strcat()的功能,我是哪错了?

答案:2  悬赏:70  手机版
解决时间 2021-03-05 10:09
  • 提问者网友:沉默的哀伤
  • 2021-03-04 12:24
#include
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);
}
最佳答案
  • 五星知识达人网友:白昼之月
  • 2021-03-04 13:51
根据你的函数意思,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';
}
全部回答
  • 1楼网友:酒者煙囻
  • 2021-03-04 14:35

#include<stdio.h> char *fun1(char *s,char *t) {  char *s1=s;  while(*s)s++;  while(*t)*s++=*t++;  *s=0;  return s1; } void main() {  char s[100],t[100];  printf("输入字符串:");  gets(s);  printf("输入字符串:");  gets(t);  printf("%s\n",fun1(s,t)); }

vc6通过

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯