Эта программа правильно печатает ли число четным или нечетным ...Что делает операция остатка (x% y), когда x <y?
#include <stdio.h>
int main(void)
{
int n;
printf("Please enter a number:");
scanf("%d", &n);
if(n % 2 == 0)
printf("%d is even", n);
else
printf("%d is odd",n);
return 0;
}
Я не понимаю, как n % 2
может дать значимый результат при n
меньше, чем два. %
- операция остатка, правильно? Если n
меньше двух, как вы можете разделить его на два?
Как вы думаете, что произойдет, если входное значение меньше 2? –
'n% 2' возвращает остальную часть деления на два ... так что четное число всегда делится на два (т. Е. Остаток 0), в то время как деление нечетного числа всегда оставляет остаток 1. – isedev
Пожалуйста, объясните, как вы понимаете' 3% 2', но не '1% 2'. –