在线等,谁能帮我看一下这个C语言程序错在哪里了,谢啦!

#include<stdio.h>intmystrcat(str1,str2);voidmain(){charstr1[50],str2[50],i,j;printf("... #include <stdio.h>
int mystrcat(str1,str2);
void main()
{
char str1[50],str2[50],i,j;
printf("请输入两个字符串:\n");
gets(str1);
gets(str2);
mystrcat(str1,str2);
printf("连接后得到的字符串为%s,mystrcat(str1,str2));
}
int mystrcat(str1,str2)
{
int i=1,k=0;
gets(str1);
gets(str2);
while(str1[i])
i++;
while(i<49)
if(str2[k])
str1[i++]=str2[k++];
else break;
str1[i]='\0';
return(str1);
}
这个程序的目的是编写一个自定义函数mystrcat,实现库函数strcat的功能,我不知道在mystrcat(str1,str2)可不可以返回整个字符串的值,是不是return只能返回一个值啊,如果要返回整个串的值需要采用指针的知识啊,谢谢各位!
展开
 我来答
likelgp
2011-12-14 · 超过20用户采纳过TA的回答
知道答主
回答量:49
采纳率:0%
帮助的人:57万
展开全部
#include <stdio.h>

int mystrcat(char *str1, char *str2); /* 没有注明参数类型 */

void main()
{
char str1[50],str2[50]; /* 初始化i,j没有用 */
printf("请输入两个字符串:\n");
gets(str1);
gets(str2);
mystrcat(str1,str2);
printf("连接后得到的字符串为%s",mystrcat(str1,str2)); /* %s后缺引号 */
}

int mystrcat(char *str1, char *str2) /* 没有注明参数类型 */
{
int i=0,k=0; /* i从0开始 */
while(str1[i])
i++;
while(i<49)
if(str2[k])
str1[i++]=str2[k++];
else break;
str1[i]='\0';
return str1; /* 返回类型不正确(我看不太明白,不会修改) */
}
blackeyescn
2011-12-14 · TA获得超过560个赞
知道小有建树答主
回答量:471
采纳率:100%
帮助的人:489万
展开全部
你在mystrcat 函数中 怎么又包含了gets(str1); gets(str2);啊
以后最好把运行结果附上,别人才好检查
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
colaftc
2011-12-15
知道答主
回答量:32
采纳率:0%
帮助的人:21.4万
展开全部
不用在线等了,你的strcat完全错误,智商正常的人都会给你零分的,简直到了不知所云的地步了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yueyeguanghua
2011-12-14
知道答主
回答量:27
采纳率:100%
帮助的人:17.9万
展开全部
是不是第十行那少冒号了?你试运行一下,电脑会给提示的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式