-
[궁금?] c언어 질문이에요.2014.05.15 PM 07:12
#include
#define multiple(i, j) i*j
#define twice(i) i+i
int main(int argc, char* argv[]) {
int a = 10;
int b = 20;
printf("%d\n",multiple(a, b));
printf("%d\n", twice(multiple(a, b) + multiple(a, b)));
}
마지막 결과값twice이 800이 나오는데 왜 800이 나오는지 궁금합니다. ㅜ.ㅜ
저는 400이 나올줄 알았는데 ㅜ.ㅜ
댓글 : 9 개
- 숲바라기
- 2014/05/15 PM 07:19
200*200 + 200*200 으로 적용되나보네요
- Michale Owen
- 2014/05/15 PM 07:20
디버깅 돌려보삼 그럼 딱나옴
- 구름나무
- 2014/05/15 PM 07:22
그냥 산수로만 풀어도 800이고, 800나오는게 당연한 코드 아닌가?!
- 2300원
- 2014/05/15 PM 07:24
Twice가 (multi+multi)한것을 × 2 해주네요.
테스트 프로그램이더라도 넘 복잡하게
구현하면 오히려 버그만들어요.
테스트 프로그램이더라도 넘 복잡하게
구현하면 오히려 버그만들어요.
- kimo87
- 2014/05/15 PM 07:26
twice가 왜 × 2 해주는 거죠?ㅜㅜ
- 구름나무
- 2014/05/15 PM 07:24
멀티플(10,20)=200
트와이스(200+200) = 트와이스(400)
= 800
트와이스(200+200) = 트와이스(400)
= 800
- 아제로
- 2014/05/15 PM 07:26
twice(200+200) = twice(400) = 400+400 당연한결과네요
- kimo87
- 2014/05/15 PM 07:27
아 이해 했어요 ㅜ.ㅜ
- 통신보안
- 2014/05/15 PM 07:56
t(a*b+a*b) => a*b+a*b+a*b+a*b
user error : Error. B.