티스토리 뷰

반응형
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <stdio.h>
#define TAX_RATE 0.2 // 세율을 0.2로 기호상수 선언
 
int main(void)
{
    const int MONTHS = 12// 월은 12월까지 있음
    int m_salary, y_salary;
 
    printf("월급을 입력하시오 : ");
    scanf_s("%d"&m_salary); // 월급을 m_salary로 입력 받음
 
    y_salary = MONTHS * m_salary; // 연봉은 월급 * 12 (1년)
 
    printf("연봉은 %d입니다.\n", y_salary); // 연봉 출력
    printf("세금은 %f입니다.", y_salary * TAX_RATE); // 세금 출력 (연봉 * 세율)
 
    return 0;
}
 
cs

 

 

 

  - 결과  

 

 

 

  - 한마디  

#define과 const 중에서 어떤 것이 좋을까? 라는 Q&A가 교재에 실려있었다.

const를 사용하는 편이 장점이 더 많다고 한다.

자료형을 지정하는 것이 가능하여 여러 검사도 편리하고,

배열이나 구조체와 같은 복합 데이터 타입에서도 사용할 수 있어서라고 한다.

 

y_salary(연봉)는 int형으로, TAX_RATE는 0.2로 기호상수로 선언하였으므로

연봉 * 세율을 계산한 세금값실수로 출력해주어야 한다.

%d를 사용하여 정수형으로 출력할 경우 

0.2였던 TAX_RATE가 0이 되어 세금값도 0으로 출력되는 논리적 오류가 발생한다.

반응형
댓글
반응형
Recent Post.
Recent Reply.
Thanks for comming.
오늘은
명이 방문했어요
어제는
명이 방문했어요