책 내용 질문하기
++i
도서
2020 시나공 정보처리기사 실기 [기본서]
페이지
71
조회수
209
작성일
2020-08-25
작성자
탈퇴*원
첨부파일
문제 4번에서 ++i 는 두번째 실행부턴 증가 후 조건 만족한지 확인 후 실행인데 처음 i가 1일때 ++i이면 i가 2로 먼저 바뀌어서 합에 1이아닌 2가 들어가야하는거 아닌가요? ㅜㅜ i++랑 ++i랑 값이 같나요?
답변
2020-08-26 10:34:07

안녕하세요 길벗수험서 운영팀입니다.

 

  for(①; ②; ③) 

     ④;

  

for문이 총 5회 수행된다고 가정할 때,

1회 : ①, ②(조건 참), ④

2회 : ③, ②(조건 참), ④

3회 : ③, ②(조건 참), ④

4회 : ③, ②(조건 참), ④

5회 : ③, ②(조건 참), ④

종료 : ③, ②(조건 거짓) <탈출>

 

③에서 사용된 전치/후치 증감연산자는 for문의 수행에 있어 증감 연산 외의 다른 영향도 주지 못합니다. ++i 대신 i++이 들어가든 i+=1이 들어가든 i의 값이 그저 1 증가하는 동일한 결과를 나타내죠.

 

전치/후치 증감 연산자가 식에 영향을 주는 것은 '하나의 식' 안에서 뿐입니다. 즉, sum = sum + i++; 과 같이 세미콜론(;) 또는 쉼표(,)로 구분되는 각 식 내에서만 전/후가 의미가 있을 뿐, for문과 같이 쉼표(,)로 구분되어 개별로 사용될 때는 그저 1을 증가시키는 역할 외에 다른 역할을 수행하지 못합니다.


행복한 하루되세요 :)
  • 관리자
    2020-08-26 10:34:07

    안녕하세요 길벗수험서 운영팀입니다.

     

      for(①; ②; ③) 

         ④;

      

    for문이 총 5회 수행된다고 가정할 때,

    1회 : ①, ②(조건 참), ④

    2회 : ③, ②(조건 참), ④

    3회 : ③, ②(조건 참), ④

    4회 : ③, ②(조건 참), ④

    5회 : ③, ②(조건 참), ④

    종료 : ③, ②(조건 거짓) <탈출>

     

    ③에서 사용된 전치/후치 증감연산자는 for문의 수행에 있어 증감 연산 외의 다른 영향도 주지 못합니다. ++i 대신 i++이 들어가든 i+=1이 들어가든 i의 값이 그저 1 증가하는 동일한 결과를 나타내죠.

     

    전치/후치 증감 연산자가 식에 영향을 주는 것은 '하나의 식' 안에서 뿐입니다. 즉, sum = sum + i++; 과 같이 세미콜론(;) 또는 쉼표(,)로 구분되는 각 식 내에서만 전/후가 의미가 있을 뿐, for문과 같이 쉼표(,)로 구분되어 개별로 사용될 때는 그저 1을 증가시키는 역할 외에 다른 역할을 수행하지 못합니다.


    행복한 하루되세요 :)
  • 관리자
    2020-08-27 10:45:45

    안녕하세요 길벗수험서 운영팀입니다.

     

    예, 맞습니다.

    예상문제 중 다음과 같은 for문이 있습니다.

     

    for(i=1; i<10; i++, hap+=i)

     

    위의 for문은 i=1, i<10, (i++, hap+=i) 로 3개의 식이 나눠지며, 증가식 부분의 (i++, hap+=i)는 다시 i++과 hap+=i로 2개의 식으로 나눠집니다. (총 4개)

    이 경우 i++의 후치연산은 hap+=i에 영향을 주지 않기 때문에 i가 1증가하고, 다음 증가한 값이 hap에 저장되게 됩니다.

     

    행복한 하루되세요 :)

  • *
    2020-08-26 15:32:16

    쉼표로 구분되는 식은 예를 들어서 어떤 식을 말하는건가요??그럼 for 문에서는 ++i로 넣은 값이나 i++나 동일한 결과가 나오며 조건에 참인지 거짓인지 확인하고 대입 후 증가시키는게 맞는것이죠?

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