책 내용 질문하기
부록 알고리즘 얇은책 p26,67,30 (공통) -선증가 아닌데 왜 i++ 표기?
도서
2017 시나공 정보처리기사 실기(산업기사 포함) 특별개정판
페이지
26
조회수
90
작성일
2017-03-27
작성자
첨부파일

26p - do~while문

----------

main()

{

int=0,hao=0:

do

{

i++;

hap+= i;

}while(I<10);

printf("%d,%d/n",i,hap);

}

여기서 분명히 i갑이 먼저 증가한 후 그 후에 hap에 대한 계산식이 나와

후증가 방식이 아닌 선증가인데 그럼 ++i로 해야 하는것 아닌가요?

옆 27페이지와 While문에서도 마찬가지로 선증가인데 i++;

30페이지 for문에서도 마찬가지로 논리식이 시작되기 전에 선증가인데 i++; 왜 인지? 궁금해요

main()

{

int a[5];

int i;

for( i=0; i<5; i++ )

a[i]=i+10:

for( i=0; i<5; i++ )

printf("%d/n",a[i]);

}

답변
2017-03-27 15:20:39

안녕하세요.

선증감, 후증감 개념은 해당 변수가 수식에 포함된 경우입니다.

교재 11쪽과 같이

b = (a++) + 3의 경우 a 변수의 값을 +3에 먼저 적용한 후 후증가가 수행됩니다.

하지만 단순히 ++i나 i++과 같이 하나의 문장으로 구성된 경우는 값이 1증가하게 됩니다.

특히 for문의 증가값으로 사용되는 경우 ++i나 i++은 동일하게 1이 증가되는 효과만 있습니다.

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

  • *
    2017-03-27 15:20:39

    안녕하세요.

    선증감, 후증감 개념은 해당 변수가 수식에 포함된 경우입니다.

    교재 11쪽과 같이

    b = (a++) + 3의 경우 a 변수의 값을 +3에 먼저 적용한 후 후증가가 수행됩니다.

    하지만 단순히 ++i나 i++과 같이 하나의 문장으로 구성된 경우는 값이 1증가하게 됩니다.

    특히 for문의 증가값으로 사용되는 경우 ++i나 i++은 동일하게 1이 증가되는 효과만 있습니다.

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

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