ÀÏ´Ü, %*cÀÇ ÀǹÌÀÔ´Ï´Ù. scanf("%c", ...) °¡ "¹®ÀÚ Çϳª¸¦ ÀԷ¹޴´Ù"
¶ó´Â ÀǹÌÀÎ °Í¿¡ ¹ÝÇÏ¿©, scanf("%*c", ...) ´Â "¹®ÀÚ Çϳª¸¦ ¹«½ÃÇÑ´Ù"
ÀÔ´Ï´Ù. ´ÙÀ½ÀÇ ¿¹Á¦¸¦ º¸½Ã¸é ÀÌÇØ°¡ ½¬¿ì½Ç °Ì´Ï´Ù.
int main()
{
int a = 1, b = 2, c = 3;
scanf("%d %*d %d", &a, &b, &c);
printf("%d %d %d\n", a, b, c);
}
---> ½ÇÇà °á°ú
123 456 789
123 789 3
º¸½Ã´Ù½ÃÇÇ µÎ ¹ø° Á¤¼ö°¡ ¹«½ÃµÇ¾ú½À´Ï´Ù. ±×¸®°í ±× ´ÙÀ½ %d¿¡ ÀÇÇÏ¿©
º¯¼ö b¿¡ 789°¡ ÀúÀåµÇ°í, ´õ ÀÌ»ó scanf¿¡ ÀÇÇÏ¿© ÀԷ¹޴ °ªÀÌ ¾ø±â ¶§¹®¿¡
c´Â ÃʱâÈµÈ »óÅ·Π³²°Ô µÇ¾ú½À´Ï´Ù.
ÀÌ ¿¹Á¦¸¦ Â÷±ÙÈ÷ º¸½Ã¸é %*?¿¡ ´ëÇØ ½±°Ô ÀÌÇØÇÏ½Ç ¼ö ÀÖÀ¸½Ç °Ì´Ï´Ù.
µÑ°.. ¿Ö ù¹ø° scanf¿¡¼¸¸ %*c¸¦ »ç¿ëÇÏ°í ³ª¸ÓÁö¿¡¼± »ç¿ëÇÏÁö ¾Ê´Â°¡?
¿¹Á¦¿¡¼ »ç¿ëµÈ scanf¸¦ Â÷·Ê·Î º¾½Ã´Ù.
scanf("%d", &i);
scanf("%c", &c);
scanf("%f", &f);
ÀÌó·³ µÎ¹ø° scanf¸¸ÀÌ ¹®ÀÚ¸¦ Ãë±ÞÇÏ°í ÀÖÀ¸¸ç, ¿ì¸®°¡ ÀÔ·ÂÇÏ´Â ¿£ÅÍ ¿ª½Ã
¹®ÀÚ(\n)ÀÔ´Ï´Ù. Áï, À§ ¿¹Á¦¸¦ ½ÇÇàÇÑ ÈÄ¿¡ 777<¿£ÅÍ> ¶ó°í ÀÔ·ÂÇÑ´Ù¸é,
º¯¼ö i¿¡ 777ÀÌ ÀúÀåµÇ°í, º¯¼ö c¿¡´Â <¿£ÅÍ>°¡ ÀúÀåµË´Ï´Ù. µû¶ó¼ ÀÌ¿Í °°Àº
Çö»óÀ» ¹æÁöÇϱâ À§ÇÏ¿© scanf("%d", &i);¸¦ scanf("%d%*c", &i); ·Î ¹Ù²ãÁØ
°ÍÀÔ´Ï´Ù. ÀÌ·¸°Ô ÇØÁÖ¸é i´Â 777ÀÌ µÇ¸ç, <¿£ÅÍ>´Â ¹«½ÃµÇ±â ¶§¹®ÀÔ´Ï´Ù.
¹Ý¸é¿¡, µÎ¹ø° ¶óÀÎ ÀÌÈķδ %c°¡ »ç¿ëµÇÁö ¾Ê½À´Ï´Ù. µû¶ó¼, <¿£ÅÍ>°¡
º¯¼ö¿¡ ÀúÀåµÉ ÀÏÀÌ ¾øÀ½À¸·Î %*c¸¦ »ç¿ëÇØÁÖÁö ¾ÊÀº °ÍÀÔ´Ï´Ù.
ÇÏÁö¸¸, ¸ðµç scanf¿¡ %*c¸¦ Ãß°¡ÇÏ´Â ½À°üÀ» µéÀÌ´Â °ÍÀÌ ÁÁ°ÚÁÒ.
(%f¸¦ ³ªÁß¿¡ %c·Î ¼öÁ¤ÇÏ´Â ÀÏÀÌ »ý±æ ¼öµµ ÀÖÀ»Å״ϱî¿ä.)
¸¶Áö¸·À¸·Î ÇØÄ𠾾åÀÌ ºÎºÐÁß,
"³ª¸ÓÁö ÀԷ¿¡¼ %*c¸¦ ³ÖÁö ¾ÊÀº ÀÌÀ¯´Â ¼ýÀÚ¸¦ ÀÔ·Â ¹ÞÀ» °æ¿ì¿£
¿£ÅÍ µîÀÇ ¹®ÀÚ¸¦ ÀÚµ¿À¸·Î ¹«½ÃÇØ Áֱ⠶§¹®ÀÔ´Ï´Ù." ÀÌ ºÎºÐÀÔ´Ï´Ù.
"³ª¸ÓÁö ÀԷ¿¡¼ %*c¸¦ ³ÖÁö ¾ÊÀº ÀÌÀ¯´Â ¹Ù·Î ´ÙÀ½ scanf()¿¡¼ ¼ýÀÚ¸¦ ÀÔ·Â ¹ÞÀ» °æ¿ì¿¡¿£ÅÍ µîÀÇ ¹®ÀÚ¸¦ ÀÚµ¿À¸·Î ¹«½ÃÇØ Áֱ⠶§¹®ÀÔ´Ï´Ù."
Á¤µµ·Î °íÃÄÁÖ¾î¾ß ½±°Ô ÀÌÇØÇÒ ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù.
±×·³ Á¶±ÝÀÌ¶óµµ Á¦ ¼³¸íÀÌ µµ¿òÀÌ µÇ¾ú±æ ¹Ù¶ø´Ï´Ù. °¨»çÇÕ´Ï´Ù. |