程序运行后提示错误:The variable 's2' is being used without being initialized.

zhuwenqiang0316 2013-05-12 10:59:04
#define MAX 80

FILE* fpa,fpb;


int exrpp()
{
int i,flag;
char elenum[MAX],*s1,*s2;
fprintf(fpb,"===========================================================================\n");
fprintf(fpb,"RP状态检查(EXRPP:RP=ALL)\n");
rewind(fpa);
while(!feof(fpa))
{
fgets(buf,MAX,fpa);
if(strstr(buf,"*** Connected to")!=NULL)
{
strcpy(buf2,buf);
s1=strtok(buf," "); //慎用strtok函数,慎用!容易出现问题
for(i=0;i<3;i++)
s1=strtok(NULL," ");
strcpy(elenum,s1);
strcpy(buf,buf2);
}
while(strstr(buf,"RP STATE TYPE TWIN STATE DS MAINT.STATE")!=NULL) //找到特征字符,开始
{
flag=0;
for(i=0;i<3;i++)
fgets(buf,MAX,fpa);
while(strstr(buf,"END")==NULL)
{
strncpy(buf2,buf,MAX);
strncpy(s2,buf+28,2);
s2[2]='\0';
s1=strtok(buf," ");
s1=strtok(NULL," ");
if(strcmp(s1,"WO")!=0)
{
if(flag==0)
fprintf(fpb,"%7s 状态异常,详细参考信息如下\n",elenum);
flag=1;
fprintf(fpb," %s",buf2);
}
else if(strcmp(s1,"WO")==0&&strcmp(s2,"WO")!=0&&strcmp(s2," ")!=0)
{
if(flag==0)
fprintf(fpb,"%7s 状态异常,详细参考信息如下\n",elenum);
flag=1;
fprintf(fpb," %s",buf2);
}
fgets(buf,MAX,fpa);
}
if(flag==0)
fprintf(fpb,"%7s 正常\n",elenum);
}
}
return 0;
}

程序运行后提示错误:The variable 's2' is being used without being initialized.请教各位大神
...全文
1181 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhuwenqiang0316 2013-05-12
  • 打赏
  • 举报
回复 1
引用 2 楼 hugett 的回复:
s2在使用前没有分配内存。。例如可以改成
char *s2 = (char*)malloc(10);
已解决,谢谢~
zhuwenqiang0316 2013-05-12
  • 打赏
  • 举报
回复
引用 1 楼 turingo 的回复:
用s2之前需要预先分配足够的空间,例如s2=(char*)malloc(100)这样,用完后free(s2)这样释放。
已解决,谢谢~
图灵狗 2013-05-12
  • 打赏
  • 举报
回复
用s2之前需要预先分配足够的空间,例如s2=(char*)malloc(100)这样,用完后free(s2)这样释放。
AnYidan 2013-05-12
  • 打赏
  • 举报
回复
什么编译环境有如此提示
hugett 2013-05-12
  • 打赏
  • 举报
回复
s2在使用前没有分配内存。。例如可以改成
char *s2 = (char*)malloc(10);

69,369

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧