inflearn logo
강의

講義

知識共有

(2026年最新!) 一週間で合格する情報処理技師実技

모의고사 1회 4번 문제와 관련한 질문이 있습니다.

解決済みの質問

8

Jiyeol Lee

投稿した質問数 24

0

저는 답은 8 16 3으로 적어서 틀렸는데요. 제가 풀고 있는 문제집에서 풀어본 문제 중에서 c언어의 printf는 포맷 뒤에 들어가는 인자들이 왼쪽에서 오른쪽이 아닌 오른쪽에서 왼쪽으로 그러니까 역순으로 호출된다는 것을 배웠던 적이 있어서 답을 저렇게 적어봤는데요.
이 문제의 경우에는 실제로 제가 웹에서 C언어 컴파일러 실행할 수 있는 환경에서 테스트를 해보니 해설에 있는 정답대로 3 16 8 이렇게 잘 나오긴했습니다. 그런데 제가 풀고 있는 문제집에 있는 문제 코드를 실제로 제가 테스트를 해봤을 때 역순으로 호출되서 출력되는 경우가 있더군요. AI를 통해서 물어보니까 c언어에서 함수를 호출할 때 여러 인자들에 있는 표현식을 어떤 순서로 평가할지는 보장되지 않는다고 하고 컴파일러마다 다르다고 하는데... 실제 시험에서 어떻게 해야할 지 혼란스럽습니다. 시험에서는 왼쪽에서 오른쪽으로 인자가 사용된 순서대로 출력을 한다고 생각하면 되는걸까요?

c 정보처리기사

回答 2

0

weekendcode

안녕하세요, printf()에서 주어지는 인자가 여러 개인 경우에는 보통은 왼쪽에서부터 적으시면 됩니다.

지금까지 나온 문제 중에서 인자 출력 순서가 이상하게 나온 C언어 문제는 없었으며,

설령 그렇다고 하더라도 컴파일러마다 다른 값이 나오는 경우 해당 문제는 무조건 전원 정답 처리를 시킵니다.


걱정하지 않으셔도 되고, 오히려 C언어에서 걱정하셔야 할 것은 논리적인 구조나 알고리즘과 같은 여러 복잡한 반복문과 조건문을 고민하셔야 합니다.


문제가 출력문의 순서까지 꼬아서 낼 정도로 그렇게까지 지저분하게 나오지는 않습니다.

0

communityai8509

안녕하세요, 인프런 AI 인턴입니다. Jiyeol Lee님.

C언어에서는 printf에 전달되는 여러 인자의 평가 순서가 왼쪽에서 오른쪽으로 보장되지 않습니다. 따라서 다음과 같은 형태라면 컴파일러에 따라 실행 순서가 달라질 수 있습니다.

printf("%d %d %d", func1(), func2(), func3());

func1(), func2(), func3() 중 어떤 함수가 먼저 호출될지는 C언어 표준에서 정해져 있지 않습니다. 특히 각 함수 안에서 값을 변경하거나 출력까지 수행한다면 실행 결과가 달라질 수 있으므로, 이런 코드는 이식성이 낮습니다.

다만 문제의 printf가 단순히 이미 계산된 값을 출력하는 형태라면, 문제에서 제시한 코드의 실제 실행 결과와 강의 해설을 기준으로 판단해야 합니다. 시험에서 모든 printf 인자가 항상 왼쪽에서 오른쪽 순서로 평가된다고 외우는 것은 정확하지 않습니다. 핵심은 다음과 같습니다.

  • printf의 출력 형식과 인자 배치는 왼쪽부터 대응됩니다.
  • 하지만 인자로 전달되는 함수 호출이나 표현식의 평가 순서는 보장되지 않습니다.
  • 따라서 함수 호출, 증감 연산자, 대입 등으로 값이 변경되는 인자가 여러 개라면 실행 순서를 임의로 가정하면 안 됩니다.
  • 시험 문제는 일반적으로 출제자가 의도한 실행 환경과 해설의 결과를 기준으로 출제되므로, 강의에서 설명한 코드 흐름과 실제 컴파일 결과를 함께 확인하는 것이 안전합니다.

관련된 C언어 연산 및 표현식 평가 내용을 참고해 보세요.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

재탕문제

0

20

1

재탕문제

0

20

0

파이썬 추가 코드

0

38

1

배열 포인터 출력 표시

0

51

2

포인터 증감 또는 값 증감

0

49

2

배열 포인터 함수 관련

0

44

2

실기 이론 통합 요약본 버전

0

52

2

업캐스팅 3번 문제 예시

0

57

2

push pop 설명 되어있는 강의가 몇강인가요?

0

47

1

모의고사 파일오류

1

81

3

모의고사 다운

0

54

1

업캐스팅 원칙

0

67

2

6분46초

0

58

2

공략법

0

67

1

모의고사 파일과 이론파일 업데이트

1

76

3

이론 pdf 다운은 어디서 하나요?

0

74

2

13분 40초

1

70

2

정보처리기사 26년 실기 2회 네트워크 부분

0

78

2

기출문제 재탕

0

59

1

뻬먹은 코드

0

47

1

기출문제 재탕

0

37

0

모의고사1회 2번문제 뭔지 모르겠네요 강의올려주시면안될까요?

0

51

1

영상 다운로드는 안되나요?

0

81

1

26년2회 실기기출은 언제쯤...

0

128

2