一个C语言的错误 warning C4700: local variable 'n' used without having been initialized

intmain(){printf("enterthestudent'stotalnum\n");intn;input(n);//功能1:输入学生信息FILE*fp;if(... int main()
{
printf("enter the student's total num\n");
int n;
input(n);//功能1:输入学生信息
FILE *fp;
if ((fp=fopen("file.txt","w"))==NULL)
{
printf("can not open file \n");
exit(1);
}
int i;
for (i=0;i<n;i++)
{
fprintf(fp,"%d%s%d%d%d",stu[i].num,stu[i].name,stu[i].score[0],stu[i].score[1],stu[i].score[2],stu[i].score[3]);
}
fclose (fp);
应该怎么改
展开
 我来答
匿名用户
2016-06-23
展开全部
警告,编译器的警告,说明程序没有错误,可以运行,但是有小问题。当然很可能这个小问题会导致运行结果完全和想象的不一样。你这个应该就是了。n和p没有被初始化。虽然程序照样可以运行,但是n和p的值,估计不是你想要的inta,b,c;floatd,e,f;longg,h,i;cin>>a>>b>>c;cin>>d>>e>>f;cin>>g>>h>>i;intm;m=max(a,b,c);你看,你前面这些变量都有声明以及赋值。只有n,p没有
匿名用户
2016-06-23
展开全部
  1. 按C语言旧版标准:变量声明(定义)应该放在最前面,不能在代码段中间声明(定义)变量,所以,最好,int n;int i; FILE *fp;放在这句之前:printf("enter the student's total num\n");      你的代码,多半是这个问题;

    通常,良好的编程习惯也是把变量声明放在一段代码的最前面;

2. 虽然不清楚你的函数input(n)是怎么实现,但是可以预知,你无法通过这个函数获取到n的值,这里变量应该传址;

3. 结构体变量没有定义:stu

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
阳光的雷咩咩
2016-06-23 · TA获得超过1.4万个赞
知道大有可为答主
回答量:2.3万
采纳率:66%
帮助的人:8134万
展开全部
第2句改成int n = 0应该就不会报这个错了,但是否有其他问题不知道。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式