4944
2015-05-31 17:06:17
0
설명이 부족한거 같아서 추가합니다.
#define MYCONST 123
이 있고, 코드 내에 MYCONST를 쓰면 컴파일러는 "어? 이건 123으로 대체하라고 했지?" 라면서 무조건 123으로 바꿔치기 합니다.
님 코드의 경우
#define PI 3.14;
는 전혀 문제가 없는 것처럼 보이지만, 막상
sqr=PI*PI*_radius;
에서 컴파일러는 "아, 아까 PI는 3.14; 라고 했지?" 하면서
sqr=3.14;*3.14;*_radius;
로 바꿔치기합니다.
당연히 문제가 생길 수밖에 없는 코드가 되겠죠? ㅎㅎ