작성자: 폴아웃


C언어 - 연산자 우선순위


문제) 하위 프로그램에서 a의 출력 값은?


#include <stdio.h>

int main(){

int a = 10;

a = ++a * a--;

printf ("a is %d\n", a);

return 0;

}




정답)

Visual C/C++ compiler 

 - version 141

a is 120


GCC 

 - version 5.4.0

a is 110


해석)

Visual C/C++의 컴파일러와 GCC의 컴파일러의 동작 차이 때문


 Visual C/C++ 디어셈블 결과(Intel 스타일)

GCC 디어셈블 결과(AT&T 스타일) 

 


 







+ Recent posts