2013. 5. 25. 11:51
C언어 형변환... C언어 이야기2013. 5. 25. 11:51
#define FOO(BAR) 600/100/RATE
unsigned int temp = FOO(70);
//temp에 들어갈 답은?
정답 :1
왜?
100/RATE를 하면 둘 다 정수형이므로 암시적으로 int형으로 캐스팅된다. 그러므로 100/70 은 1이된다.
1.xx가 되게 하기 위해선?
100.0/(float)RATE 해주면 된다. 둘다 실수형이면 실수형으로 캐스팅하여. 올바른 결과를 얻게된다.
'C언어 이야기' 카테고리의 다른 글
C로 구현한 옵저버 패턴 (0) | 2013.07.27 |
---|---|
씨언어 강제로 브런치하기 (0) | 2013.06.07 |
static 배열과 auto 배열의 차이 (0) | 2013.05.17 |
이차원배열과 그 순회방법 (0) | 2013.03.30 |
linux hlist 분석 (0) | 2013.02.09 |