• ベストアンサー

C言語 if文について

#include <stdio.h> int main(void) { int a; printf("整数を入力してください:"); scanf("%d",&a); if(a % 10 == 5) puts("最下位の桁は5です。"); else puts("最下位の桁は5でありません。"); return 0; これでどうして読み込んだ整数値の最も下の桁が5であるかどうかを判断しているのでしょう? ifの式がいまいち理解できません。 解説できる方いませんか?

質問者が選んだベストアンサー

  • ベストアンサー
  • asuncion
  • ベストアンサー率33% (2127/6289)
回答No.2

>if(a % 10 == 5) 入力した数aを10で割ったあまりが5ならば という意味です。このif文が成り立てば、 >puts("最下位の桁は5です。"); こちらを出力し、成り立たなければ(つまりaを10で割ったあまりが5以外ならば) >puts("最下位の桁は5でありません。"); こちらを出力します。 %は、左オペランドを右オペランドで割ったときの剰余を求めるための演算子です。

その他の回答 (1)

  • maiko0333
  • ベストアンサー率19% (839/4401)
回答No.1

if(a % 10 == 5) これですね。 %はcでは余りを計算しています。 余りが5のときという意味です。

関連するQ&A