sum = i++ + i;
i=0
sum = ++i + i;
i = 0
sum = i+ i++
여기서1 3 5행 sum값 뭐냐고 교수님이 물어봤었는데
애들 다 값다르고 이런건 잘못된 프로그래밍이라시는 식으로 말핶는데
컴파일러마다 연산자 읽는게 다른건가요?
i=0
sum = ++i + i;
i = 0
sum = i+ i++
여기서1 3 5행 sum값 뭐냐고 교수님이 물어봤었는데
애들 다 값다르고 이런건 잘못된 프로그래밍이라시는 식으로 말핶는데
컴파일러마다 연산자 읽는게 다른건가요?
이건 우선순위 정해져있어서 어디서컴파일하던 같을텐데
첫번째는 전위증가인지 후위증가인지 애매해서 구문오류날듯
implementation defined나 undefined 케이스 설명하시는 것 같은데 - return 0;
ㅇㅇ 저렇게 쓰면 안될걸
증가연산이 하나니까 연산자 우선순위 제대로 들어가지않음?
++i + i는 ++가 먼저니까 1+1해서 2나올테고
i + i++는 i++먼저 0으로 평가되고 i가 1이니까 1일테고