零是小于还是等于零?

时间:2016-01-01 14:42:02

标签: c if-statement logic conditional-statements

假设我得到一个值i=0;
那么以下变量leftsmallertrue吗?

 while(i<=0 || arr[i]<arr[j])
    leftsmaller = true;

4 个答案:

答案 0 :(得分:3)

零不小于零,i <= 0变为1,因为零小于或等于零。

答案 1 :(得分:2)

如果左侧小于或等于,则<=(“小于或等于”)运算符返回true。由于0当然等于0,因此此表达式将评估为true,这将导致代码进入while循环,分配true } leftsmaller

答案 2 :(得分:2)

当然零不小于零,但i <= 0变为1,因为零小于或等于零。

答案 3 :(得分:1)

从未提及变量类型i

如果是unsigned i,则测试的< 0部分将失败。

如果是float i,则测试的== 0部分可能会失败 - 即使您发誓i应该是0,因为可以存储不准确的值