Áõ°¨ ¿¬»êÀÚ(Increment
Decrement operator)´Â C ¾ð¾î¿¡¼ º¼ ¼ö ÀÖ´Â
µ¶Æ¯ÇÑ ¿¬»êÀڷμ ´ÜÇ×
¿¬»êÀÚÀÔ´Ï´Ù. ÀüÀ§Çü°ú ÈÄÀ§ÇüÀÌ ÀÖÀ¸¸ç
È¥µ¿µÉ ¼ö ÀÖÀ¸¹Ç·Î
ÁÖÀÇÇØ¼ »ç¿ëÇØ¾ß ÇÕ´Ï´Ù.
|
¿¬»êÀÚ |
±â ´É |
»ç¿ë ¿¹ |
|
++ |
ÇÇ¿¬»êÀÚÀÇ
°ªÀ» 1 Áõ°¡ |
a++ ¡æ a = a +
1 |
|
-- |
ÇÇ¿¬»êÀÚÀÇ
°ªÀ» 1 °¨¼Ò |
a-- ¡æ a = a – 1 |
|
¿¬»êÀÚ |
±â ´É |
»ç¿ë ¿¹ |
|
++a |
a°ªÀ» 1 Áõ°¡ ½ÃŲ ÈÄ¿¡, a¿¡ ÀúÀå, »ç¿ë |
++a; |
|
--a |
a°ªÀ» 1 °¨¼Ò ½ÃŲ ÈÄ¿¡, a¿¡ ÀúÀå, »ç¿ë |
--a; |
|
a++ |
a¸¦ »ç¿ëÇÑ ÈÄ¿¡, a¸¦ 1Áõ°¡½ÃÄÑ a¿¡ ÀúÀå |
a++; |
|
a-- |
a¸¦ »ç¿ëÇÑ ÈÄ¿¡, a¸¦ 1°¨¼Ò½ÃÄÑ a¿¡ ÀúÀå |
a--; |
¿¹¸¦ µé¾î a++ ÀÎ °æ¿ì¿¡ a¸¦ »ç¿ëÇÑ
ÈÄ¿¡, a¸¦ 1Áõ°¡½ÃÄÑ a¿¡ ÀúÀåÇϹǷÎ
printf("%d", a++); ´Â a¸¦ Ãâ·ÂÇÑ ÈÄ¿¡ a°ªÀ» 1Áõ°¡½ÃÄÑ ÀúÀåÇϰí,
++a
ÀÎ °æ¿ì¿¡´Â a¸¦ 1Áõ°¡½ÃŲ ÈÄ¿¡ a¸¦ »ç¿ëÇϹǷÎ
printf("%d", ++a); ´Â a¸¦ 1Áõ°¡½ÃŲ ÈÄ¿¡ Áõ°¡µÈ
°ªÀ» Ãâ·ÂÇÕ´Ï´Ù.
¡¼¼Ò½º
ÇÁ·Î±×·¥¡½
// File Name : ex052_operator01.c
#include <stdio.h>
int main(void){
int a=5;
int b=10;
printf("++a=%d
\n", ++a);
printf("a=%d
\n", a);
printf("a++=%d
\n", a++);
printf("a=%d
\n", a);
printf("--b=%d
\n", --b);
printf("b=%d
\n", b);
printf("b--=%d
\n", b--);
printf("b=%d
\n", b);
return 0;
}
¡¼½ÇÇà
°á°ú¡½
++a=6
a=6
a++=6
a=7
--b=9
b=9
b--=9
b=8
¡¼¼Ò½º
ÇÁ·Î±×·¥¡½
// File Name : ex053_operator.c
#include <stdio.h>
int main(void){
int a=10, b=10, re1,
re2;
a++; ++b;
printf("a=%d
b=%d\n", a, b);
re1 = a++ + 10;
re2 = ++b + 10;
printf("re1=%d
re2=%d a=%d b=%d\n", re1, re2, a, b);
}
¡¼½ÇÇà
°á°ú¡½
a=11 b=11
re1=21 re2=22 a=12 b=12
À§ ÇÁ·Î±×·¥¿¡¼ Áõ°¨ ¿¬»êÀÚ¸¦
»ç¿ëÇÒ ¶§ ÇÑ
¹®Àå ´Üµ¶À¸·Î ¾²ÀÏ
°æ¿ì¿¡´Â ÀüÀ§Çü°ú ÈÄÀ§ÇüÀÌ
°á°ú °ªÀÌ °°Áö¸¸
´Ù¸¥ ¹®Àå°ú ÇÔ²²
¾²¿´À» °æ¿ì¿¡´Â °á°ú
°ªÀÌ ´Þ¶óÁüÀ» ¾Ë
¼ö ÀÖ½À´Ï´Ù. Áï, ÀüÀ§ÇüÀÎ °æ¿ì¿¡´Â
¿ì¼± º¯¼öÀÇ °ªÀ» 1À» Áõ°¡(¶Ç´Â °¨¼Ò)½ÃŲ ÈÄ¿¡
¼ö½Ä¿¡ Àû¿ë½Ã۰í, ÈÄÀ§ÇüÀÎ °æ¿ì¿¡´Â ÇöÀç
º¯¼öÀÇ °ªÀ» ±×´ë·Î
¼ö½Ä¿¡ Àû¿ë½ÃŰ°í ³
´ÙÀ½ º¯¼öÀÇ °ªÀ» 1À» Áõ°¡(¶Ç´Â °¨¼Ò) ½Ãŵ´Ï´Ù.
¡¼¼Ò½º
ÇÁ·Î±×·¥¡½
// File Name : ex055_operator13.c
#include <stdio.h>
int main(void){
int a=10, b=5, c=3, re1,
re2;
re1 = ++a + ++b + c++;
printf("a=%2d b=%2d c=%2d re1=%2d\n", a, b, c, re1);
re2 = --a - b-- + a-- + c--;
printf("a=%2d b=%2d c=%2d re2=%2d\n", a, b, c, re2);
}
¡¼½ÇÇà
°á°ú¡½
a=11 b= 6 c= 4 re1=20
a= 9 b= 5 c= 3 re2=18
À§ ÇÁ·Î±×·¥¿¡¼ re1ÀÇ °á°ú´Â 11+6+3(c°ªÀº ÈÄÀ§ ¿¬»êÀÚ)=20ÀÌ µÇ¸ç, ¿¬»ê ÈÄ¿¡ c°ªÀÌ 1ÀÌ Áõ°¡µÇ¾î 4°¡ µË´Ï´Ù. re2´Â 10-6+10+4=18ÀÌ µÇ¸ç, ¿¬»ê ÈÄ¿¡ a, b, c°¡ °¢°¢ 1¾¿ °¨¼ÒÇÕ´Ï´Ù.