C · 연산자·연습 문제

전위 증감과 배열

문제 설명PROBLEM

전위 증감과 배열

문제

인덱스 i=0에서 values[i++]를 읽고, 이어 values[++i]를 읽은 결과를 저장하세요.

구현할 함수

void incremented_index_values(const int values[], int output[2])

입력

정수 원소가 3개 이상인 배열의 길이 n과 원소 n개가 주어집니다.

입력 파싱과 결과 출력은 숨겨진 I/O 어댑터가 자동으로 처리합니다. 에디터에는 요구된 함수 또는 메서드 구현만 작성하세요.

출력

두 식이 읽은 값을 공백으로 구분해 출력합니다.

구현 조건

  • 계산 로직은 반드시 incremented_index_values 함수 안에 구현하세요.
  • 첫 접근은 i++, 둘째 접근은 ++i를 배열 인덱스에 사용하세요.

공개 테스트

아래 테스트를 각각 독립된 프로세스로 실행합니다. 입력과 기대 출력은 실제 채점 순서와 같습니다.

#이름InputExpected output
1대표3\n10 20 3010 30
2네 원소4\n5 6 7 85 7
3음수3\n-1 -2 -3-1 -3
개념 노트와 실수 포인트

연산자

  • 정수 나눗셈 /: 정수끼리면 몫만 남고 소수점은 버림. 7/2 == 3. 실수가 필요하면 한쪽을 실수로 → 7/2.0.
  • 나머지 %: 정수 전용.
  • 증감 a++(후위: 쓰고 증가) / ++a(전위: 증가 후 사용).
  • ⚠️ 한 식에서 같은 변수를 두 번 증감(f(a++, ++a))하면 결과가 정의되지 않음(컴파일러마다 다름). 문장을 나눠 추적하세요.
  • 우선순위: * / %+ - → 비교 → 비트(& ^ |) → && ||. 헷갈리면 괄호!
  • 비트: &AND |OR ^XOR ~NOT, <<n=×2ⁿ, >>n=÷2ⁿ.
  • 형변환 (int)3.9 == 3 (반올림 아님, 버림).