책 내용 질문하기
C언어 소스 문의드립니당.
도서
2022 시나공 정보처리기사 실기
페이지
210
조회수
327
작성일
2022-04-14
작성자
탈퇴*원
첨부파일
  1. #include
  2. main()
  3. {
  4. int i = 10, hap = 0;
  5. while (i > 1)
  6. {
  7. i--; == > 후치 연산인데 그러면 I가 10이니깐 우선 10 먼저 하고난뒤에 그 다음이 9가 나오는게 아닌가용? 강사님께서는 I가10이고 후치연산 만나니깐 9가 되고 IF문으로 설명해주셧는데 10먼저 가고 난뒤 10출력하고 9되는게 아닌가해서요?
  8. if (i % 3 == 1)
  9. hap += i;
  10. }
  11. printf("%d \n", hap);
  12. }

답변
2022-04-15 20:27:13

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

 

해당 후치 감소연산자는 다음 라인에 있는 if문에 어떤 영향도 주지 못합니다.

 

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

(i--; = i=i-1;)

 

행복한 하루되세요 :)

  • 관리자
    2022-04-15 20:27:13

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

     

    해당 후치 감소연산자는 다음 라인에 있는 if문에 어떤 영향도 주지 못합니다.

     

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

    (i--; = i=i-1;)

     

    행복한 하루되세요 :)

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