일단 질문하신 내용의 답부터 말씁드리면
초등학교에 배운 산수에서 우선 순위를 가지고 있는 연산자가 먼저 연산이 됩니다.
즉 ( 2 + 3 ) * 4 = 20 이 아니고, 2 + ( 3 * 4 ) = 14 입니다.
우리는 두번째의 괄호가 없어도 *, /이 먼저라는 것을 약속으로 알고 있습니다.
C언어에서도 동일하게 적용됩니다.
다른 언어도 비슷하게 적용될 것이라고 생각이 되며, 정확한 연산을 위해서는 ( )를 사용하시는게 좋을듯 합니다.
여담으로 같은 우선순위를 가지고 있는 연산자의 경우 왼쪽에서부터 계산되어 오른쪽으로 갑니다.
자세한 내용은 C언 연산자 부분이 나와있는 책을 이용하시면 이해가 빠르실거에요.
윤영광 님이 쓰신 글 :
: C언어와 직접적 연관 질문은 아닙니다.
:
: 컴퓨터가 연산 순서를 어떻게 인지 하는지 궁금합니다.
:
: 2+3*4 를
:
: 2+3 을 먼저하느냐,, 3*4 를 먼저 하느냐에 따라 결과는 다릅니다.
:
: 컴퓨터는 어떻게 구분하여 순서를 정하여 연산하나요?
|