else语句不触发

时间:2012-09-17 23:00:15

标签: objective-c if-statement

我一直在尝试创建一个if else语句,它将根据某些约束返回一个文本字符串。前3个约束有效,但是当最终约束的事件发生时,它再次触发第二个约束。随机数生成器偶尔使用0值,所以我想考虑到这一点。我是新手,并为缩进等道歉。

我一直在这里寻找一点,找不到任何似乎涵盖这一点的东西。如果我错过了它,那么正确的方向也会受到赞赏。

double txtestimateCategory = [mynum computeVolume];
NSLog(@"The volume is %f", txtestimateCategory);
int v = ((txtestimateCategory * 1));
if ((v >= 8000))
{
    NSLog(@"The box is large");
}
else if ((1 <= v < 1000))
{
    NSLog(@"The box is small");
}
else if ((1000 <= v < 8000))
{
    NSLog(@"The box is medium");
}
else
{
      NSLog(@"The box is a lie");
}

1 个答案:

答案 0 :(得分:4)

比较器是二元运算符。你必须写:

else if (1 <= v && v < 1000)

(否则你会评估true < 1000之类的内容,true会隐式转换为1。不是你的意思!)