#include <stdio.h>
int main(void)
{
int a = 1;
printf("%d %d %d", a, ++a, a + 1);
return 0;
}
int main(void)
{
int a = 1;
printf("%d %d %d", a, ++a, a + 1);
return 0;
}
VS 실행결과 : 2 2 3
codepad.org 실행결과 : 컴파일에러(warning)
ideone.com 실행결과 : 2 2 2
http://ideone.com/ENlQTR
winapi 볼때 __stdcall 이런 호출규약? 그런거 있었는데 그런건가??
매개변수가 stack에 들어가는 순서... 라고 기억하는데
친구 C언어 배우는거 도와주다가 ㅈ망;
병신새끼는 나대는거 아닌듯 ㅜㅜ
함수 호출의 쉼표 연산자는 순차적 계산 연산자와 동일하지 않으며 동일하다는 보장도 제공하지 않습니다. 자세한 내용은 시퀀스 위치를 참조하십시오.
https://msdn.microsoft.com/ko-kr/library/2bxt6kc4.aspx
헐랭. 신기하네
삼댕/뭐로 검색하셨어요?
연산자 우선순위요. 예전에 코로모가 이거 말했었는데 표준에 정해지지 않았다고
ideone에서는 321 순으로 된거고 VS에서는 213 이렇게된거네
오홍
gcc에서도 321순인듯
이거 대표적인 UB
UB가머임
Undefined Behavior?
ㅇㅇ. c++의 make_shared도 이거 관련해서 UB없이 안전하게 shared_ptr 만들 수 있도록 제공되는거.
근데 함수 호출에서 사용되는 콤마는 연산자가 아닐껀데??
뭐라고 말해야될지 모르겠어서... 그냥 씀ㅋ;;
답은 [전위표기법] [LISP] -> [Clojure]다
아 함수형 안사요 안사
(생각하는 것을 (그만두고 [괄호를] (쓰겠다 죠죠!)))
미리 본 적이 있어서 보니까 있길래 가져왔네요
지금 C1x 표준 살펴보니 76페이지 6.5 Expression에 나오네. 함 읽어봐