%(modulo) 연산자는 ‘나머지 연산자’라고 합니다. a % b 연산의 결과는 a를 b로 나누었을 때의 나머지 값입니다. 예를 들어, 0보다 큰 어떤 양의 정수를 2로 나머지 연산을 수행하면, 결과는 0 또는 1이 됩니다. 나머지 연산 결과가 0이 나왔다면 무엇을 의미할까요? 또는 1이 나왔다면 무엇을 의미할까요?
0이 나오면 그 양의 정수는 짝수임을, 1이 나오면 홀수임을 의미합니다.
odd_even.c
#include <stdio.h> main() { int a; printf("양의 정수를 입력하세요: "); scanf("%d", &a); if (a % 2) // a % 2가 1이라면, 즉 if(1)은 조건을 만족한다는 의미 printf("입력한 양의 정수는 홀수입니다.\n"); else printf("입력한 양의 정수는 짝수입니다.\n"); }
Tip
조건문은 5장에서 자세히 배웁니다. 지금은 ‘if 조건을 만족할 경우 else 조건은 만족하지 않는다’ 정도로만 코드를 이해하면 됩니다.
실행 결과
양의 정수를 입력하세요: 2
입력한 양의 정수는 짝수입니다.
실행 결과
양의 정수를 입력하세요: 3
입력한 양의 정수는 홀수입니다.