| byun1219 |
++a 개념과 a++개념은 비슷하지만 미세한 차이가 있습니다.
a++은 a를 먼저 인식한 후 +1를 해주는 것이고
++a는 +1를 인식한후 a를 인식합니다.
그러니 처음에 돌아가면 1 , 3, 4 ,4 ,5, 7 이 나오는게 정상입니다.
위 코드를 다시 돌려보니 저는 2 2 4 3 6 6 이 나오네요
printf()함수를 잘 이해 못하셨나보네요
printf 함수는 <<순서대로 인식합니다. 그러니
printf("%d %d \n",a++,++a); 여기 구간에서 ++a = 2 후 a++= 3
첫번째문장은 처음 계산된 a=++a로만 printf 해주기때문에 2 2을 출력되고
printf("%d %d \n",++a,a++); 여기 구간에서 a++ =3 후 ++a = 5
두번째 문장은 처음 계산된 a=3++로만 printf 해주기때문에 3 그후 +1되었으니를 4 3출력되고
printf("%d %d \n",a++,++a); 여기 구간에서 ++a =6 후 a++ =7
세번째 문장은 처음 계산된 a=++5로만 6그리고 다음값도 6 으로 출력됩니다.
하지만 최종값은 7 이 나오게 됩니다..
하지만 이런 코드는 사용하지 않기 때문에 굳이 이해 하실필요까지는 없을듯해요.
c언어를 사용안한지 3년은 되어서 .. 머리가 잘 안돌아가네요 많은 공부했네요 |
2013/05/08 |
|