if语句obj -c零输入

时间:2012-07-26 16:56:23

标签: objective-c if-statement zero

这是代码。

   int main(int argc, const char * argv[])
    {

        @autoreleasepool {

            int x,y;
            //BOOL divsibleYESOrNo;

            NSLog(@"enter two number for test it\n");
            scanf("%i %i",&x,&y);

            if ( x%y ==0 ) {

                NSLog(@"YES,it can be");
            }

            else if (x%y !=0) {
                NSLog(@"no there cant.");
            }
            else 
                NSLog(@"zero is not allow");
        }
        return 0;
    }

此代码无法检测用户是否输入两个零。 如何修改可以检测输入值为零的代码?

由于

1 个答案:

答案 0 :(得分:1)

任何%0都是未定义的,因此您需要在其他if语句之前添加对y == 0的检查。它必须是第一个if语句,以确保它被评估;否则你的其他一个陈述会先错误地抓住它。

if ( y == 0 ) {
    NSLog(@"zero is not allowed.");
}
else if ( x%y == 0 ) {
    NSLog(@"YES,it can be");
}
else {
    NSLog(@"no there cant.");
}