7 | 211 | (전반) 1. [소스 7-15] multiple → subtraction return x*y; → return x-y;
2. 아래서 5번째 줄 #define multiply(x,y) x*y → #define subtraction(x,y) x-y
3. 아래서 3번째 줄 result = multiply(a+1, b+10); → result = subtraction(a+1, b+10);
4. 마지막 문단 이 문장을 전처리하면 다음과 같이 되는데 연산자 ~ → 이 문장을 전처리하면 다음과 같이 되는데 우리가 원하는 (a+1)-(b+10)과는 다른 결과를 얻게 된다. | 2008-08-27 | 1 |
7 | 212 | (전반) 1. 1번째 줄 result = a+1*b+10; → result = a+1-b+10;
2. 3번째 줄 #define multiply(x,y) (x)*(y) → #define subtraction(x,y) (x)-(y)
3. 5번째 줄 result = multiply(a, b)++; → result = subtraction(a, b)*2;
4. 6번째 줄 ~ (b)++가 ~ → ~ (b)*2가 ~
5. 8번째 줄 result = (a)*(b)++; → result = (a)-(b)*2;
6. [소스 7-16] #define multiply(x,y) ((x)*(y)) → #define subtraction(x,y) ((x)-(y))
7. [소스 7-17] multiply → subtraction return x*y; → return x-y; | 2008-08-27 | 1 |