2013-08-29 3 views
-1

C 언어로 된 코드. 392 : i 인 이유단항 연산이 때로는 자살입니다. C 코드로 문의하십시오.

#include<stdio.h> 
#define PRODUCT(x) (x * x * x) 
int main() 
{ 
    int i =5,k; 
    k = PRODUCT(++i); 
    printf("i is :%d ",k); 
    return 0; 
} 

내 질문은? 에 따르면 출력은 336이어야합니다. (6 * 7 * 8 = 336)

정말 여기 엉망 이냐 ??

+3

'++ i * ++ i * ++ i'는 정의되지 않은 동작이므로 –

+1

[매크로 정의 정의 오류] (http://stackoverflow.com/questions/17038558/error-with-define-macro-definition)/17038596 # 17038596) –

+0

@GrijeshChauhan 당신은 틀렸어. 어떻게 사전 처리 될지보기 위해 Dayal rai 덧글을 보아라. – Level29Access

답변