c语言 提示 使用了未初始化的局部变量
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言 提示 使用了未初始化的局部变量相关的知识,希望对你有一定的参考价值。
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<string.h>
#define LEN sizeof(struct score)
#define LEN1 sizeof(struct match)
#define FORMAT "%-8d%-10s%-12s%-12s%-17s%-13s%-13s%\n"
#define FORMAT1 "%-8d%-10s%-12s%-12s%-17s%-13s%\n"
#define DATA member[i].num,member[i].team1,member[i].team2,member[i].winner,member[i].name,member[i].time
#define DATA1 member1[i].num1,member1[i].teamA,member1[i].teamB,member1[i].thewinner,member1[i].scoreA,member1[i].scoreB,member1[i].time
struct score //比赛信息
int num; //编号
char team1[100]; //队伍1
char team2[100]; //队伍2
char winner[100] ; //进球方
char name[100]; //进球队员
int time[100]; //进球时间
;
struct match //胜负信息
int num1;
char teamA[100];
char teamB[100];
char thewinner[100];
int scoreA[100];
int scoreB[100];
int time[100];
;
void timetable()
int figer=20160625;
FILE *fp;
int i,m,j=0;
char temp=0;
if((fp=fopen("比赛.txt","ab+"))==NULL)
printf("不能打开文件\n");
return;
while(!feof(fp))
if(fread(&member1[m],LEN1,1,fp)==1&&figer<*member1[m].time) /*警告 使用了未初始化的局部变量“m”*/
m++;
fclose(fp);
if(m==0)
printf("没有记录!\n");
return;
for(i=0;i<m;i++)
for(j=i+1;j<m;j++)
if(member1[i].time>member1[j].time)
temp=*member1[i].time;*member1[i].time=*member1[j].time;*member1[j].time=temp;
for(i=0;i<m;i++)
printf("编号 队伍A 队伍B 胜利队伍 A队得分 B队得分 比赛时间 \t\n");
printf(FORMAT1,DATA1);
break;
可是我在声明函数的时候已经令其为0了,要怎么改啊
追答在声明函数的时候已经令其为0?你是怎么弄的,把代码复制粘贴过来看看吧
追问主要的代码就在这里了
追答FILE *fp;int i,m,j=0; //你这里的m都没初始化嘛,你可以这样做int i=m=j=0;
char temp=0;本回答被提问者采纳
以上是关于c语言 提示 使用了未初始化的局部变量的主要内容,如果未能解决你的问题,请参考以下文章