책 내용 질문하기
사칙연산 실행수서좀 알려주세요.
도서
2017 시나공 정보처리기사 실기(산업기사 포함) 특별개정판
페이지
101
조회수
71
작성일
2017-03-12
작성자
첨부파일

myVar.a += myVar.b -= myVar.c *= 10; 에서 사칙연산 순서가

1) myVar.c *= 10

2) myVar.a += myVar.b

3) myVar.b -= myVar.c 이러한 순서로 계산을 해야 하는것이 아닌가 해서요.

p60 페이지의 연산자 우선순위에 보면 결합규칙이 좌에서 우로 가는데 p478페이지의 정답 및 해설에서는

사칙연산의 순서가 우에서 좌로 계산을 진행을 해서 어떻한 경우에 우에서 좌로 계산을 하는지 궁금합니다.

답변
2017-03-13 10:01:53

안녕하세요.

사칙연산에서 곱셈과 나눗셈이 덧셈과 뺄셈보다 우선합니다.

곱셈과 나눗셈은 우선순위가 동등하여 같이 있는 경우에는 좌에서 우 순으로 계산됩니다.

덧셈과 뺄셈도 우선순위가 동등하여 같이 있는 경우에는 좌에서 우 순으로 계산됩니다.

그래서 맨 뒤의 *= 이 먼저 계산됩니다.

이후에는 +=를 먼저하든 -=를 먼저 하든 결과를 동일합니다.

맨 뒤의 값이 100인 상태에서

myVal.a에는 10

myVal.b에는 10

저장되어 있으므로

10+10 = 20에 -100을 하여 -80이 나오든

10-100 = -90에 +10을 하여 -80이 나오든 동일합니다.

오늘도 즐거운 하루 되세요.

  • *
    2017-03-13 10:01:53

    안녕하세요.

    사칙연산에서 곱셈과 나눗셈이 덧셈과 뺄셈보다 우선합니다.

    곱셈과 나눗셈은 우선순위가 동등하여 같이 있는 경우에는 좌에서 우 순으로 계산됩니다.

    덧셈과 뺄셈도 우선순위가 동등하여 같이 있는 경우에는 좌에서 우 순으로 계산됩니다.

    그래서 맨 뒤의 *= 이 먼저 계산됩니다.

    이후에는 +=를 먼저하든 -=를 먼저 하든 결과를 동일합니다.

    맨 뒤의 값이 100인 상태에서

    myVal.a에는 10

    myVal.b에는 10

    저장되어 있으므로

    10+10 = 20에 -100을 하여 -80이 나오든

    10-100 = -90에 +10을 하여 -80이 나오든 동일합니다.

    오늘도 즐거운 하루 되세요.

· 5MB 이하의 zip, 문서, 이미지 파일만 가능합니다.
· 폭언, 욕설, 비방 등은 관리자에 의해 경고없이 삭제됩니다.