»ïÇ× ¿¬»êÀÚ(ternary
operator), Á¶°Ç ¿¬»êÀÚ(Conditional
operator)´Â ¶Ç´Â ¼±Åà ¿¬»êÀÚ¶ó°íµµ
Çϸç, Á¶°ÇÀÇ ¸¸Á· ¿©ºÎ¿¡
µû¶ó 󸮵Ǵ ³»¿ëÀ»
´Þ¸®ÇÒ ¼ö ÀÖ´Â
¿¬»êÀÚÀÔ´Ï´Ù. »ïÇ× ¿¬»êÀÚ´Â ´Ù¸¥
¾ð¾î¿¡´Â Á¸ÀçÇÏÁö ¾Ê´Â C¾ð¾î¸¸ÀÇ µ¶Æ¯ÇÑ ¿¬»êÀÚÀ̸ç, C¾ð¾î¿¡¼µµ À¯ÀÏÇÏ°Ô ÇÇ¿¬»êÀÚ¸¦
¼¼ °³³ª °¡Áö´Â
Á¶°Ç ¿¬»êÀÚÀÔ´Ï´Ù.
¡¼Çü½Ä¡½
(Á¶°Ç) ? ó¸®1 : ó¸®2;
Áï, Á¶°ÇÀ» ¸¸Á·Çϸé ó¸®1À» ¼öÇàÇϰí
Á¶°ÇÀ» ¸¸Á·ÇÏÁö ¾ÊÀ¸¸é
ó¸®2¸¦ ¼öÇàÇÕ´Ï´Ù.
if¹®À»
»ç¿ëÇϸé ÀÌÇØÇÏ±â ÆíÇϰí
´Ù¾çÇÏ°Ô Ã³¸®ÇÒ ¼ö
ÀÖ´Ù. Á¦ 4Àå¿¡¼ if¹® ÀÚ¼¼È÷ ´Ù·ç¹Ç·Î
¿©±â¼´Â Á¶°Ç¿¡ µû¶ó¼
½ÇÇàÇÏ´Â ¹®ÀåÀÌ ´Ù¸¥
¸í·ÉÀ̶ó°í¸¸ ¾Ë¾ÆµÎ¸é ÁÁ°Ú½À´Ï´Ù. ±×·¯³ª ÀÌ 3Ç׿¬»êÀÚ´Â ¾ÆÁÖ À¯¿ëÇϰÔ
»ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î¼ ´ÙÀ½ ÇÁ·Î±×·¥À»
¹Ýº¹ÀûÀ¸·Î ¼öÇàÇÏ°Ô µÇ¸é 0°ú 1À» ¹Ýº¹ÀûÀ¸·Î º¯°æÇÏ´Â ÇÁ·Î±×·¥ÀÔ´Ï´Ù.
// sw¿¡ 0ÀÌ ±â¾ïµÇ¾î ÀÖÀ¸¸é 1·Î
¹Ù²Ù°í 1ÀÌ ±â¾ïµÇ¾î ÀÖÀ¸¸é 0À¸·Î ¹Ù²Þ
sw=1;
if (sw==0) sw=1;
else
sw=0;
if (sw==0)
sw=1;
else
sw=0;
sw¿¡
1ÀÌ ±â¾ïµÇ¾î ÀÖÀ¸¹Ç·Î sw==0 Àº °ÅÁþÀ̹ǷΠsw¿¡ 0±â¾ï
sw¿¡
0ÀÌ ±â¾ïµÇ¾î ÀÖÀ¸¹Ç·Î sw==0 Àº ÂüÀ̹ǷΠsw¿¡ 1±â¾ï
µû¶ó¼ sw°ªÀº °è¼ÓÀûÀ¸·Î 0°ú 1À» Åä±ÛÇÏ°Ô µË´Ï´Ù.
À̸¦ »ïÇ× ¿¬»êÀÚ¸¦ »ç¿ëÇϸé
sw=
(sw==0) ? 1 : 0;
·Î ó¸®ÇÏ¸é µË´Ï´Ù.
¡¼¼Ò½º
ÇÁ·Î±×·¥¡½
//File Name : ex049_operator11.c
#include<stdio.h>
int main(){
int sw=0, i;
for(i=0;i<=5;i++){ // 5¹ø ¹Ýº¹ ½ÇÇàÇÏ´Â ¸í·É
sw= (sw==0) ? 1 : 0;
printf("%d
",sw);
}
return 0;
}
¡¼½ÇÇà
°á°ú¡½
1 0 1 0 1 0
¿¬»êÀÚ
¿ì¼± ¼øÀ§°¡ 3Ç׿¬»êÀÚ°¡ ¸ÕÀúÀ̰í
´ëÀÔ¿¬»êÀÚ°¡ µÚ¿¡ ½ÇÇàµÇ±â
¶§¹®¿¡ º¯¼ö°ªÀ» Åä±ÛÇÒ
¼ö ÀÖ½À´Ï´Ù. sw °ªÀÌ 0ÀÌ¸é °á°ú°¡ 1ÀÌ°í ±×
1À» ´Ù½Ã sw¿¡ ÀÔ·ÂÇϹǷΠsw°ªÀº ÃʱⰪ 0¿¡¼ 1·Î ¹Ù²ò´Ï´Ù. ´Ù½Ã ½ÇÇàÇÒ ¶§ sw°ª¿¡ 1ÀÌ ±â¾ïµÇ¾î
ÀÖ¾î¼ sw°ªÀÌ 0ÀÌ ¾Æ´Ï¹Ç·Î °á°ú°ªÀÌ
0À̰í ÀÌ 0À» ´Ù½Ã sw¿¡ ÀÔ·ÂÇϹǷÎ
sw°ªÀº 0À¸·Î ¹Ù²ò´Ï´Ù.
µû¶ó¼ ÀÌ 3Ç׿¬»êÀÚ´Â ÀÏÁ¤ Á¶°Ç¿¡
µû¶ó Àü¿øÀÌ ON°ú OFF°¡ ¹Ù²î´Â
ÇÇÁöÄà ÇÁ·Î±×·¡¹Ö¿¡¼´Â ±×
°¡Ä¡°¡ Å®´Ï´Ù.