在线等!!!急!c语言程序 我很多源代码 粘贴上vc6上之后 都出现这三个问题 怎么办? 30
errorC2065:'writeDat':undeclaredidentifiererrorC2373:'writeDat':redefinition;differen...
error C2065: 'writeDat' : undeclared identifier
error C2373: 'writeDat' : redefinition; different type modifiers
warning C4508: 'writeDat' : function should return a value; 'void' return type assumed
Error executing cl.exe.
IN.DAT中存有200个四位数,已调用读函数readDat()存入数组a,编函数jsVal(),main( )函数调用写函数writeDat()把cnt以及四位数输出到OUT.DAT,部分源程序存在文件prog1.c中。
#include <stdio.h>
#define MAX 200
int a[MAX], b[MAX], cnt = 0 ;
void jsVal()
{
int i,j,t;
for(i=0;i<MAX;i++)
{
t=a[i];
if(t%2+t/10%2+t/100%2+t/1000%2==0)
b[cnt++]=t;
}
for(i=0;i<cnt-1;i++)
for(j=i+1;j<cnt;j++)
if(b[i]<b[j])
{
t=b[i];
b[i]=b[j];
b[j]=t;
}
}
void readDat()
{
int i ;
FILE *fp ;
fp = fopen("in.dat", "r") ;
for(i = 0 ; i < MAX ; i++) fscanf(fp, "%d", &a[i]) ;
fclose(fp) ;
}
void main()
{
int i ;
readDat() ;
jsVal() ;
printf("满足条件的数=%d\n", cnt) ;
for(i = 0 ; i < cnt ; i++) printf("%d ", b[i]) ;
printf("\n") ;
writeDat() ;
}
writeDat()
{
FILE *fp ;
int i ;
fp = fopen("out.dat", "w") ;
fprintf(fp, "%d\n", cnt) ;
for(i = 0 ; i < cnt ; i++) fprintf(fp, "%d\n", b[i]) ;
fclose(fp) ;
} 展开
error C2373: 'writeDat' : redefinition; different type modifiers
warning C4508: 'writeDat' : function should return a value; 'void' return type assumed
Error executing cl.exe.
IN.DAT中存有200个四位数,已调用读函数readDat()存入数组a,编函数jsVal(),main( )函数调用写函数writeDat()把cnt以及四位数输出到OUT.DAT,部分源程序存在文件prog1.c中。
#include <stdio.h>
#define MAX 200
int a[MAX], b[MAX], cnt = 0 ;
void jsVal()
{
int i,j,t;
for(i=0;i<MAX;i++)
{
t=a[i];
if(t%2+t/10%2+t/100%2+t/1000%2==0)
b[cnt++]=t;
}
for(i=0;i<cnt-1;i++)
for(j=i+1;j<cnt;j++)
if(b[i]<b[j])
{
t=b[i];
b[i]=b[j];
b[j]=t;
}
}
void readDat()
{
int i ;
FILE *fp ;
fp = fopen("in.dat", "r") ;
for(i = 0 ; i < MAX ; i++) fscanf(fp, "%d", &a[i]) ;
fclose(fp) ;
}
void main()
{
int i ;
readDat() ;
jsVal() ;
printf("满足条件的数=%d\n", cnt) ;
for(i = 0 ; i < cnt ; i++) printf("%d ", b[i]) ;
printf("\n") ;
writeDat() ;
}
writeDat()
{
FILE *fp ;
int i ;
fp = fopen("out.dat", "w") ;
fprintf(fp, "%d\n", cnt) ;
for(i = 0 ; i < cnt ; i++) fprintf(fp, "%d\n", b[i]) ;
fclose(fp) ;
} 展开
6个回答
展开全部
这是因为从txt文本复制过来里面包含了很多不识别的字符,例如空格。
有些集成开发环境可以自动调整代码格式,不过VC不行。
你可以试一下其他的,NetBeans可以。
有些集成开发环境可以自动调整代码格式,不过VC不行。
你可以试一下其他的,NetBeans可以。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
undeclared identifier。没有定义变量
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
查你的源码,除非你贴出全部源码否则别人没法帮你。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
writeData函数未声明就使用了,可以在文件头先声明一下,之后再在main之后写代码
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
warning C4508: 'writeDat' : function should return a value; 'void' return type assumed
Error executing cl.exe.应该是你定义函数时用了void类型,但你却令其返回值,故出错了。
Error executing cl.exe.应该是你定义函数时用了void类型,但你却令其返回值,故出错了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询