

任意の数字を入力して、以下の条件で値を判別するプログラムを作っています。

  * 偶数で100以上
  * 偶数で100未満
  * 奇数で99未満
  * それ以外

しかし、何を入れても`a`は「偶数かつ100以上」になります。なぜでしょうか。

[code]

    #include <stdio.h>
    
    int main() {
      int a;
      scanf("%d", &a);
    
      if (a % 2 == 0 && a >= 100) {
        printf("aは偶数かつ100以上");
      }
      else if (a % 2 == 0 && a < 100) {
        printf("aは偶数かつ100未満");
      }
      else if (a % 2 == 1 && a >= 99) {
        printf("aは奇数かつ99以上");
      }
      else {
        printf("それ以外");
      }
    }
    
[/code]


CC BY-SA 4.0
2019-06-27T14:04:29.213
56149
2019-06-28T01:30:42.003
2019-06-28T01:30:42.003
3060
34892
question
c
if-elseを用いた数値の判別が、意図した通り動かない