C语言问题?

[复制链接]
查看11 | 回复3 | 2008-4-4 17:15:55 | 显示全部楼层 |阅读模式
这是读入程序NULL是空值。i++,自增。在while循环中。每循环一次自增1,在文件中取一个数放在数组中。while(!fefo(fp)) { fscanf(fp,"%d,",&xx[i++]) }
回复

使用道具 举报

千问 | 2008-4-4 17:15:55 | 显示全部楼层
1.NULL在C中代表字符0,2.return 1,用来判断打开的文件"IN.DAT"是不是空文件,如果是的话,函数返回值为1,函数返回值为0的时,说明文件不是空文件喽!3.&xx[i++],之所以用i++,因为在while循环中要有一个能自增的变量,不然的话,循环也就没意思啦!
回复

使用道具 举报

千问 | 2008-4-4 17:15:55 | 显示全部楼层
NULL一般用在指针里,代表空,可以视作0(因为它的值就是0)return 在这里作为程序的分支,如果fopen("IN,DAT","r")的返回值为NULL(0),就返回1,不然执行下去再返回0,用来区分程序的执行情况而已&xx[i++]这句套在while(!fefo(fp))下的注意,目的是对文件里所有内容处理,i++指的是每处理一个内容指针就下移处理下一个内容,如果换成i,那直到结束都在对第一个元素进行处理,当然就错误了
回复

使用道具 举报

千问 | 2008-4-4 17:15:55 | 显示全部楼层
NULL 表示文件不存在。if((fp=fopen("IN,DAT","r"))==NULL) return 1;如果文件打开成功就返回1;int ReadDat(void) { FILE *fp; int i=0; char *p; if((fp=fopen("IN,DAT","r"))==NULL) return 1; //失败返回1;while(!fefo(fp)) //文件没到结尾则循环{ fscanf(fp,"%d,",&xx[i++]) 这个i++是自增。表示用一次,值就+1,如:&xx[i++]等价于&xx;i++;这样两句} maxline=i; fclose(fp); return 0;//这个是函数操作成功完成返回0。}
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行