
问一个C语言的题目。十万火急 5
【程序设计】--------------------------------------------------功能:用函数将第2个串连接到第1个串之后,不允许使用str...
【程序设计】
--------------------------------------------------
功能:用函数将第2个串连接到第1个串之后,不允许使用
strcat函数。
------------------------------------------------*/
#include <stdio.h>
void wwjt();
void len_cat(char c1[],char c2[])
{
/**********Program**********/
int i,j;
for (i=0;c1[i]!='\0';i++)
for (j=0;c2[j]!='\0';j++)
c1[i+j]=c2[j];
c1[i+j]='\0';
/********** End **********/
}
main()
{
char s1[80],s2[40];
gets(s1);gets(s2);
len_cat(s1,s2);
printf("string is: %s\n",s1);
wwjt();
}
void wwjt()
{
FILE *IN,*OUT;
int m,n;
int i[2][200];
IN=fopen("in.dat","r");
if(IN==NULL)
{
printf("Read FILE Error");
}
OUT=fopen("out.dat","w");
if(OUT==NULL)
{
printf("Write FILE Error");
}
for(n=0;n<2;n++)
fscanf(IN,"%s",i[n]);
len_cat(i[0],i[1]);
fprintf(OUT,"%s\n",i[0]);
fclose(IN);
fclose(OUT);
}
从program到end是自己填写的内容;明明跟答案上面一模一样的不知怎么的总是有错误,运行不了。。错误提示在下面:初学C语言(麻烦大神帮我改改)告诉我理由。谢谢
Compiling...
第三个程序设计.cpp
G:\c语言教程\C语言\第三个程序设计.cpp(38) : warning C4508: 'main' : function should return a value; 'void' return type assumed
G:\c语言教程\C语言\第三个程序设计.cpp(57) : error C2664: 'len_cat' : cannot convert parameter 1 from 'int [200]' to 'char []'
Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
执行 cl.exe 时出错.
第三个程序设计.exe - 1 error(s), 0 warning(s) 展开
--------------------------------------------------
功能:用函数将第2个串连接到第1个串之后,不允许使用
strcat函数。
------------------------------------------------*/
#include <stdio.h>
void wwjt();
void len_cat(char c1[],char c2[])
{
/**********Program**********/
int i,j;
for (i=0;c1[i]!='\0';i++)
for (j=0;c2[j]!='\0';j++)
c1[i+j]=c2[j];
c1[i+j]='\0';
/********** End **********/
}
main()
{
char s1[80],s2[40];
gets(s1);gets(s2);
len_cat(s1,s2);
printf("string is: %s\n",s1);
wwjt();
}
void wwjt()
{
FILE *IN,*OUT;
int m,n;
int i[2][200];
IN=fopen("in.dat","r");
if(IN==NULL)
{
printf("Read FILE Error");
}
OUT=fopen("out.dat","w");
if(OUT==NULL)
{
printf("Write FILE Error");
}
for(n=0;n<2;n++)
fscanf(IN,"%s",i[n]);
len_cat(i[0],i[1]);
fprintf(OUT,"%s\n",i[0]);
fclose(IN);
fclose(OUT);
}
从program到end是自己填写的内容;明明跟答案上面一模一样的不知怎么的总是有错误,运行不了。。错误提示在下面:初学C语言(麻烦大神帮我改改)告诉我理由。谢谢
Compiling...
第三个程序设计.cpp
G:\c语言教程\C语言\第三个程序设计.cpp(38) : warning C4508: 'main' : function should return a value; 'void' return type assumed
G:\c语言教程\C语言\第三个程序设计.cpp(57) : error C2664: 'len_cat' : cannot convert parameter 1 from 'int [200]' to 'char []'
Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
执行 cl.exe 时出错.
第三个程序设计.exe - 1 error(s), 0 warning(s) 展开
展开全部
第一个 错误:void wwjt()函数在使用前没有声明
第二个错误:void len_cat(char c1[],char c2[])形参是char型而len_cat(i[0],i[1]);i【】数组是int型
可以在主函数里边加一行void wwjt()的声明,或者先定义void wwjt()函数;将i[]数组改为char型的
第二个错误:void len_cat(char c1[],char c2[])形参是char型而len_cat(i[0],i[1]);i【】数组是int型
可以在主函数里边加一行void wwjt()的声明,或者先定义void wwjt()函数;将i[]数组改为char型的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
void wwjt()
{
FILE *IN,*OUT;
int m,n;
int i[2][200];///////////////改成char i[2][200]试试。参数类型不对。
IN=fopen("in.dat","r");
if(IN==NULL)
{
{
FILE *IN,*OUT;
int m,n;
int i[2][200];///////////////改成char i[2][200]试试。参数类型不对。
IN=fopen("in.dat","r");
if(IN==NULL)
{
追问
这样弄运是可以运行但是输入之后不能enter噢!
追答
void len_cat(char c1[],char c2[])
{
/**********Program**********/
int i,j;
for (i=0;c1[i]!='\0';i++)===>这里要加一个分号;才能定位到第一个串的结尾继添加第二个串的内容
for (j=0;c2[j]!='\0';j++)
c1[i+j]=c2[j];
c1[i+j]='\0';
/********** End **********/
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
for (i=0;c1[i]!='\0';i++)这一行后面要加一分号
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询