标题:
如果不赋值的话,bit定义的变量的值是随机变的吗?
[打印本页]
作者:
lx843040583
时间:
2017-5-27 22:50
标题:
如果不赋值的话,bit定义的变量的值是随机变的吗?
比如下面这个
bit flag_300ms ;
while(1)
{
key(); //独立按键程序
if(key_can < 10)
{
key_with(); //设置温度上下限
}
if(flag_300ms == 1) //300ms,处理一次温度程序
{
flag_300ms = 0;
temperature = read_temp(); //先读出温度的值
if(menu_1 == 0) //没有按下设置键的时候的情况
{
smg_i = 3;
dis_smg[0] = smg_du[temperature % 10]; //取温度的小数显示
dis_smg[1] = smg_du[temperature / 10 % 10] & 0xdf; //取温度的个位显示
dis_smg[2] = smg_du[temperature / 100 % 10] ; //取温度的十位显示
}
}
fengshan_kz(); //风扇控制函数
}
}
中间的if语句中flag_300ms=1是如何实现300ms执行一次处理的? 难道是flag_300ms一开始没有赋值,就是0和1随机的吗?所以是0还是1,谁也不确定是吗?
作者:
lyf898
时间:
2017-5-28 09:34
所有变量赋值前都默认为零。
作者:
yzwzfyz
时间:
2017-5-28 10:04
养成习惯,未确定的东西,不要侥幸,即使验证了多次。
其实如果真的未定义,它是不确定的值。
不过你所用的编译系统会不会帮你补充定义就不得而知了,楼上沙发说是0。
作者:
renhao
时间:
2017-5-28 11:13
没有赋值的数据,通常是会是随机数。但不同的编译器处理有差别,你可以加打印函数测试就知道了啊。带操作系统的,一般在编译器系统会自动赋零。
作者:
lyf898
时间:
2017-5-28 22:41
yzwzfyz 发表于 2017-5-28 10:04
养成习惯,未确定的东西,不要侥幸,即使验证了多次。
其实如果真的未定义,它是不确定的值。
不过你所用 ...
用过多种语言编程,未赋值前的变量值都==0
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1