这是代码。
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;
}
此代码无法检测用户是否输入两个零。 如何修改可以检测输入值为零的代码?
由于
答案 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.");
}