条件跳转或移动取决于指向代码第一行的未初始化值

问题描述

|| 我的程序在工作几天后崩溃,所以我决定与Valgrind一起运行。除以下警告外,我已清除所有警告:
==30522== Conditional jump or move depends on uninitialised value(s) 
==30522==    at 0x405E32: main (main.c:548)
==30522==  Uninitialised value was created by a stack allocation
==30522==    at 0x405652: main (main.c:80)
main.c:80
是程序的第一行:
int main(int argc,char *argv[])
{  // <- this is the line 80
我想我已经清理了所有错误,但仍然让我发疯。这是怎么回事?
                    listado_ips->ocr=(float)listado_ips->ocr/tiempo_milisecs; // <-line 548
在此之前几行:
milisecs1=milisecs1-milisecs2
tiempo_milisecs=(float)milisecs1/1000;
milisecs1
被初始化。     

解决方法

        问题在于,在
main()
开头创建的变量列表中,当您在第548行读取它时,至少有一个尚未初始化。 由于您没有显示第548行的内容,也没有显示80和548行之间的内容,因此我们无法轻松地告诉您更多信息。但是要集中在548行而不是80行。 如果第548行是:
listado_ips->ocr=(float)listado_ips->ocr/tiempo_milisecs;
然后分析设置\'
tiempo_milisecs
\'的位置。如果设置正确,则需要查看ѭ9的位置。我们可以合理地假设ѭ10本身(指针)已初始化。     

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...