只是不明白为什么以下两个有不同的值。第一个值为0,而另一个值为1
if(1/10);
if(0.1);
答案 0 :(得分:12)
默认情况下,1
的类型为int
,因此1/10
将向下舍入为0
,相当于false
。虽然0.1
设置了一些位,但不是0
。
另一方面,1.0/10
相当于0.1
。
答案 1 :(得分:0)
if(condition)
此处执行condition
并使用0进行检查。如果为0则表示false
,则表示true
。 1/10给出值0,它等于0(因为整数/整数给出整数结果)所以条件为failes,其中0.1不等于0,所以它被视为true
和{{1中的currespoinding语句将执行块。