티스토리 뷰

형승격이란,

 

표현범위가 더 큰 형식(type)으로 인식하는 현상을 말한다.

 

#include<stdio.h>

int main(void) {
	int a = 2;
    double b = 1.5;
    
    printf("%d", a + b);
    
    return 0;
 }

이럴 경우 printf()문의 형식문자는 오류를 범하게 된다.

 

a + b의 결과는 int가 아닌 실수형이기 때문에, 실수형의 형식문자로 고쳐주어야 한다.

 

a(int) < b(double) 이기 때문에 정수형 -> 실수형으로의 type promotion 형승격이 일어나게 되는 것이다.

 

char ch = 'A'; 가 있다면 ch (char) < a (int)  이므로 ch + a 의 결과는 'A' + 2 이므로

%d로 했을시 66이 나오고 %c로 했을 경우 'C'가 나오게 된다.

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함