"++i"와 "i++"은 어떻게 다른가요?
글쓴이: Twibap / 작성시간: 일, 2013/04/07 - 4:23오전
안녕하세요.
저는 ++i의 경우에 i값을 사용하기 전에 1 증가시킨 뒤 (증가한)i값을 사용하고, i++의 경우는 i 값을 사용 한 뒤 i값을 1 증가시키는 것으로 알고있습니다.
Stroustrup의 4장 시험해보기를 풀다가 의문이 생겼습니다.
// a부터 z까지 각 소문자에 해당하는 정수값 출력하기.
#include "std_lib_facilities.h"
char i = 'a';
while (i<='z')
{
cout << i <<'\t'<< int(i)<
++i; // (2)
}
여기서 (2)번을 없애기 위해 (1)을 이렇게 수정했습니다.
char i = 'a';
while (i<='z')
{
cout << i <<'\t'<< int(i++)<
}
전자의 경우는 a부터 z까지 소문자와 정수를 제대로 출력하지만 후자의 경우는 b부터 z를 지나 '{' 까지 출력하면서 프로그램이 종료됩니다.
제가 알고있는것이 정확하다면 후자도 전자와 같은 결과를 출력해야하는데 그렇지 않네요.
어디가 문제인지 해설 부탁드리겠습니다 ㅠ.ㅠ
Forums:
댓글 달기