大众信息网

关于C语言中的FILE

答案:5  mip版
解决时间 2021-02-07 22:51
  • 提问者网友:祇為焄菂兲哋閤
  • 2021-02-07 16:29
#include<stdio.h> void main() { 1: FILE *fp; 2: int a; 3: FILE *px; 4: px氦川份沸莓度逢砂抚棘 = fopen("c:\\ds\\test.txt","r"); 5: char *in; 6: in = fgets(in,100,px); } 这段代码很奇怪 一直不能运行,说会创建什么错误, 如果我把第5行去掉,就能正确运行 奇怪啊 第5行就是申明了个文件指针,会影响 望各位高人指点
最佳答案
  • 二级知识专家网友:萌逗
  • 2021-02-07 17:33
(TC2.0)C语言里面,有种约定,所有变量要先声明才能使用,声明变量时,应该将所有要用到的变量 连续 在一个地方声明.不能声明一部分变量,执行一些代码,发现变量不够,再在代码的后面声明变量.这种做法不允许.
楼主的
1: FILE *fp;
2: int a;
3: FILE *px; 4: px = fopen("c:\\ds\\test.txt","r");
5: char *in;
6: in = fgets(in,100,px);
这段代码显然不全理.
应将5: char *in;
放到第4(: px = fopen("c:\\ds\\test.txt","r"); )行前面声明.
声明区专门声明,代码区专写代码.
(不过VC中允许)
全部回答
  • 1楼网友:反正我最可爱
  • 2021-02-07 22:03
in指针指向哪里?
  • 2楼网友:我心里的你没人能代替
  • 2021-02-07 21:19
你不能用指针,从文件中读取的值不能付给指针
  • 3楼网友:选择重头再来
  • 2021-02-07 20:13
fgets()的第一个参数要是一个固定长度的缓冲区 比如5、6行改成 char in[10];//这里声明你需要大小的字符数组 fgets(in, 100, px);
  • 4楼网友:众里寻春风
  • 2021-02-07 19:00
在c语言中变量必须一次性全部声明, 而c++则不必,可以随时声明变量
我要举报
如以上问答内容为低俗/色情/暴力/不良/侵权的信息,可以点下面链接进行举报,我们会做出相应处理,感谢你的支持!
点此我要举报以上问答信息
推荐资讯