为了账号安全,请及时绑定邮箱和手机立即绑定

求文件里奇数的个数

求文件里奇数的个数

C C++
渐行渐远6 2016-05-24 12:07:59
#include<stdio.h>#include<stdlib.h>void main(){ FILE*fp; int i,a[1000],n=0; fp=fopen("E:\\wj4.txt","r");//wj4.txt里存储一千个数 if((fp=fopen("E:\\wj4.txt","r"))==NULL) {printf("error"); } for(i=0;i<1000;i++) {fscanf("%d",a[i]); if(a[i]%2!=0)  n++;} fclose(fp); printf("%d",n);}求这一千个数中奇数的个数,大神指点一下,谢谢
查看完整描述

1 回答

?
lvanli

TA贡献7条经验 获得超8个赞

思路是对的,只不过有一些细节有问题:

1、fscanf是从文件作为输入。第一个参数应该是FILE*,所以应该写为fscanf(fp,"%d",&a[i]);

2、作为输入a[i]不能用在scanf里面,因为a[i]是char类型的,但是scanf要求使用char*。所以改成&a[i]

3、文件打开出错了要直接返回,只是打印后面还是会crash。

4、你强行读取了1000个字符,如果文件中没有那么多就会出问题。所以要判断fscanf的返回值是不是EOF

查看完整回答
反对 回复 2016-06-17
  • 1 回答
  • 0 关注
  • 1228 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信