C语言问题?

int ReadDat(void)
{
FILE *fp;
int i=0;
char *p;
if((fp=fopen("IN,DAT","r"))==NULL) return 1;
while(!fefo(fp))
{
fscanf(fp,"%d,",&xx[i++])
}
maxline=i;
fclose(fp);
return 0;
}
中NULL表示的是什么,返回值第一次返回的是1,第二次返回的是0又该如何解释呢?还有就是fscanf(fp,"%d,",&xx[i++])中的&xx[i++]中为何是i++而不是i。刚刚学编程,问题有点多,哪位高手先谢谢了?@^^@

这个程序有个关键错误是while(!fefo(fp)) 应该是while(!feof(fp)) 这里的feof是该文件的结束即the end of (fp指向的文件)
NULL 是只的是空指针即他没有所对应的文件,即我们所找的文件不存在或文件不存在者无法打开。(NULL也可以表示0,但在这里不是)
return 1; 是作为一个提示即该文件不存在或无法打开。
return 0是提示该文件已经找到并操作成功
i++,自增。在while循环中。每循环一次自增1,在文件中取一个数放在数组中。如果换成i,即数组中只有的xx[0]中有一个数字(因为每次的数都是存放在a【0】里,每次读取的数将上次读取的数给覆盖了,就成了a[0]里只有文件里最后一个数字了),数组其他的数都是系统给的数(一般是0),就不是我们想要的i++是让没一次度的数存放数组的位置加一,即的第n个数字放在的n-1号下标的数组里,yi
温馨提示:内容为网友见解,仅供参考
第1个回答  2008-04-04
这是读入程序
NULL是空值。
i++,自增。在while循环中。每循环一次自增1,在文件中取一个数放在数组中。
while(!fefo(fp))
{
fscanf(fp,"%d,",&xx[i++])
}
第2个回答  2008-04-04
1.NULL在C中代表字符0,
2.return 1,用来判断打开的文件"IN.DAT"是不是空文件,如果是的话,函数返回值为1,函数返回值为0的时,说明文件不是空文件喽!
3.&xx[i++],之所以用i++,因为在while循环中要有一个能自增的变量,不然的话,循环也就没意思啦!
第3个回答  2008-04-04
NULL一般用在指针里,代表空,可以视作0(因为它的值就是0)
return 在这里作为程序的分支,如果fopen("IN,DAT","r")的返回值为NULL(0),就返回1,不然执行下去再返回0,用来区分程序的执行情况而已
&xx[i++]这句套在while(!fefo(fp))下的注意,目的是对文件里所有内容处理,i++指的是每处理一个内容指针就下移处理下一个内容,如果换成i,那直到结束都在对第一个元素进行处理,当然就错误了
第4个回答  2008-04-04
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];i++;这样两句
}
maxline=i;
fclose(fp);
return 0; //这个是函数操作成功完成返回0。
}

c语言常见问题有哪些
1、书写标识符时,忽略了大小写字母的区别。2、忽略了变量的类型,进行了不合法的运算。3、将字符常量与字符串常量混淆。4、忽略了等号与双等号的区别。5、忘记加分号。6、输入变量时忘记加地址运算符。7、输入数据的方式与要求不符。8、输入字符的格式与要求不一致。9、输入输出的数据类型与所用格式...

C语言的运行出现不了的问题是什么问题??
环境问题:代码在不同的操作系统、编译器或硬件平台上可能存在差异,导致代码无法正常运行。可以检查编译器和操作系统的兼容性,或在特定的环境中运行代码。逻辑问题:代码逻辑存在问题,导致代码无法正确执行。可以检查代码逻辑是否正确,是否存在死循环、递归深度过大等问题。综上,C语言代码运行不出现象可能...

c语言能解决哪些问题
一、系统开发问题 C语言首先是一种通用编程语言,它可以用于开发各种类型的系统软件和应用程序。例如,操作系统、编译器、驱动等核心组件大多使用C语言开发,因其具有直接访问内存、进行复杂运算和进行底层设备操作的能力。此外,C语言还常被用于开发嵌入式系统,如智能家居控制、工业控制等。二、算法和数据处...

c语言常见问题有哪些?
c;c="a";在这里就混淆了字符常量与字符串常量,字符常量是由一对单引号括起来的单个字符,字符串常量是一对双引号括起来的字符序列。C规定以“\\”作字符串结束标志,它是由系统自动加上的,所以字符串“a”实际上包含两个字符:‘a'和‘\\',而把它赋给一个字符变量是不行的。4.忽略了“=”与...

计算机程序c语言面试常见问题
c语言作为计算机程序设计语言,是考察软件工程师应聘者技术能力的关键。计算机程序c语言面试常见问题,我们来看看。c语言 面试题 精选(笔试)单选题部分 1、C语言程序的基本单位是___A.语句 B.函数 C.程序行 D.字符 答案:B 2、C语言程序由()组成 A.子程序 B.过程 C.函数 D.主程序段程序 ...

求c语言一些常见问题,
但C语言中,“=”是赋值运算符,“==”是关系运算符。如:if (a==3) a=b;前者是进行比较,a是否和3相等,后者表示如果a和3相等,把b值赋给a。由于习惯问题,初学者往往会犯这样的错误。5.忘记加分号。分号是C语句中不可缺少的一部分,语句末尾必须有分号。a=1 b=2 编译时,编译程序在“...

c语言面试经常问到的问题有哪些?
c语言面试经常问到的问题有:1、C语言的主要特征是什么?C是一种过程语言。C语言的主要功能包括对内存的低级访问,简单的关键字集和简洁的样式。这些功能使其适用于诸如操作系统或编译器开发之类的系统编程。2、i ++和++i有什么区别?1)表达式“i ++”返回旧值,然后递增i。表达式++i递增该值...

几道C语言的入门问题,给过程,在线等
1、C A选项表示8进制的1;B选项表示十六进制的1;C选项错误,0开头的表示八进制的整数常量,范围是0-7,08显然超过了8进制的表示范围;D选项表示十进制的8;2、B f表示单精度,不写的话默认都是双精度;3、0X10;两个十六进制的数进行按位与运算,首先把两个十六进制数化成二进制OX14:0010 ...

C语言问题?
答案是B。1,因为,*p++先执行*p,就是取出a[0]的值而已,就是10,没有实际用。可以写成p++;2,再执行p++ ,这是p指向a[1]的地址。3,*p +=1, 就是指a[1]的值加1,即11+1=12。

C语言代码问题?
在C语言中,我们可以编写一个程序来找出并输出10000以内的所有亲密数对。首先,我们需要编写一个函数来计算一个整数的所有真因子之和。然后,我们可以遍历1到10000之间的所有整数,对于每个整数,检查其真因子之和是否也在1到10000的范围内,并且它们的真因子之和是否互为对方。以下是C语言代码的一个示例...

相似回答
大家正在搜