今天在测试的时候,发现一个设备的id值回复一直是2,打印调试语句,初始化之后直接打印,id的值就是2,而且一直没变过,难道id值不应该是随机的吗
uint id,state;
printf(" id is %d\n\n",id);
默认值是随机的,这里的随机不是说每次不一样,而是无法确定。一直都是2也是正常。
数据地址是随机分配的,以前地址是什么值就会输出什么值。所以要初始化
是不确定的,如果你把程序运行的环境重新启动,这个值可能会变成另一个未知数奥!
改变这种问题,1、初始化 2、static uint id,state; 3、变量设置为全局变量