티스토리 뷰
형승격이란,
표현범위가 더 큰 형식(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'가 나오게 된다.
'언어 > C' 카테고리의 다른 글
[Inflearn_C] 다차원 배열 (0) | 2019.09.07 |
---|---|
[Inflearn C] 연산자 (0) | 2019.09.05 |
[Inflearn C] Buffer와 표준 입/출력 도구, fflush 함수 (0) | 2019.05.30 |
[Inflearn C] 실수형 float, double - 자료형 (0) | 2019.05.29 |
[Inflearn C] signed, unsigned - C 자료형 (0) | 2019.05.28 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- timecomplexity
- 시간복잡도
- 회전리스트
- 공용체
- 종류
- 재귀함수
- 알고리즘
- 비트필드
- codeit
- 파이썬
- 3차원 배열
- Algorithm
- 1차원 배열
- C
- 2차원 배열
- 다차원 배열
- 자료구조
- inflearn
- 포인터
- 간접 지정
- 구조체
- 직접 지정
- 형승격
- 프로그래밍
- 공부
- call by reference
- 공간복잡도
- call by value
- 배열
- 강의
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함