++연산자
꽃초롱
i++연산자는 연산을 먼저 실행한 후, 1씩 증가하는 걸로 알고 있습니다.
그런데 아래를 실행해보면, 1이 먼저 증가하여 출력되더라구요.
=========================================================================
/*구구단*/
#include stdio.h
int main(void)
{
int i=1;
intnum;
printf(======구구단======\n);
printf(원하는 건 몇 단? );
scanf(%d, &num);
while(i10)
{
printf(%d*%d=%d\n, num, i, num*i, i++);
}
return 0;
}
=========================================================================
실행결과
======구구단======
원하는 건 몇 단? 3
3*2=6
3*3=7
3*4=12
3*5=15
3*6=18
3*7=21
3*8=24
3*9=27
3*10=30
=========================================================================
i++를 printf문 아래쪽에 따로 써주면 원래 의도대로 3*1부터 3*9까지 출력이됩니다.
=========================================================================
while(i10)
{
printf(%d*%d=%d\n, num, i, num*i);
i++;
}
=========================================================================
두 줄짜리를 한 줄로 만들어서
printf()안에 같이 써도 똑같이 실행된다고 배워서 해봤더니 결과가 달라서
그 이유가 궁금합니다.
왜 이런걸까요?