10-4-³ª.main ÇÔ¼öÀÇ Àμö

mainµµ ÀÏÁ¾ÀÇ ÇÔ¼öÀ̹ǷΠÀμö¸¦ °¡Áú ¼ö ÀÖ°í ¸®ÅÏ°ªµµ °¡Áú ¼ö ÀÖ´Ù. mainÀº ÇÁ·Î±×·¥ ½ÇÇà Á÷ÈÄ¿¡ ÀÚµ¿À¸·Î È£ÃâµÈ´Ù´Â Á¡¿¡ À־ ÀÏ¹Ý ÇÔ¼ö¿Í´Â ´Ù¸¥ Ưº°ÇÑ ¸éÀÌ ÀÖÀ¸¸ç ÇÁ·Î±×·¥ÀÇ ½ÃÀÛÁ¡À̱⠶§¹®¿¡ À̸§Àº °íÁ¤µÇ¾î ÀÖÁö¸¸ ÇÔ¼öÀÇ ¿øÇüÀº °íÁ¤ÀûÀÌÁö ¾Ê´Ù. main ÇÔ¼öÀÇ ¿øÇüÀº ´Ù¼Ò º¹ÀâÇѵ¥ ´ÙÀ½°ú °°Àº Á¶ÇÕÀÌ °¡´ÉÇÏ´Ù.

 

void(¶Ç´Â int) main(int argc,char *argv[],char *env[]);

 

¸®ÅÏ°ªÀº intÇüÀ̰ųª voidÇü Áß Çϳª¸¦ ¼±ÅÃÇÒ ¼ö ÀÖÀ¸¸ç ¼¼ °³ÀÇ Àμö¸¦ °¡Áö´Âµ¥ Àμö´Â µÚÂʺÎÅÍ Â÷·Ê´ë·Î »ý·« °¡´ÉÇÏ´Ù. ±×·¡¼­ main ÇÔ¼öÀÇ °¡´ÉÇÑ ¿øÇüÀº ´ÙÀ½ ¿©´ü°¡Áö³ª µÈ´Ù.

 

¨ç void main(void);

¨è void main(int argc);

¨é void main(int argc,char *argv[]);

¨ê void main(int argc,char *argv[],char *env[]);

¨ë int main(void);

¨ì int main(int argc);

¨í int main(int argc,char *argv[]);

¨î int main(int argc,char *argv[],char *env[]);

 

ÀÌ Áß ÀÚÁÖ »ç¿ëµÇ´Â Çü½ÄÀº ¨ë¹ø°ú ¨í¹øÀε¥ ÀÌ Ã¥ÀÇ ¿¹Á¦µéÀº ÁÖ·Î Á¦ÀÏ °£´ÜÇÑ ¨ç¹ø Çü½ÄÀ» »ç¿ëÇÏ°í ÀÖ´Ù. main ÇÔ¼öÀÇ °¡Àå ¿Ïº®ÇÑ ¿øÇüÀº ¨î¹øÀε¥ ÀÌ ¿øÇü¿¡¼­ ¸®ÅÏ°ª°ú ÀμöµéÀÇ Àǹ̿¡ ´ëÇØ ¾Ë¾Æº¸ÀÚ.

¸®ÅÏ°ª

¸®ÅÏ°ªÀº ¾ø°Å³ª ÀÖ´Ù¸é Á¤¼öÇüÀ̾î¾ß ÇÑ´Ù. C++ Ç¥ÁØ ¹®¼­(43p)¿¡´Â Á¤È®ÇÏ°Ô It shall have a return type of type int, but otherwise its type is implementation defined ÀÌ·¸°Ô µÇ¾î ÀÖ´Ù. main ÇÔ¼öÀÇ ¸®ÅÏ°ªÀº intÇüÀÇ Å¸ÀÔÀ» °¡Áö´Â °ÍÀÌ ÁÁÁö¸¸ ±¸Çö ¹æ½Ä¿¡ µû¶ó ´Ù¸¥ ŸÀÔÀ» °¡Áö´Â °Íµµ °¡´ÉÇÏ´Ù. Áï C++ ½ºÆÑÀº int¸¦ °­·ÂÈ÷ ±ÇÀåÇϱâ´Â ÇÏÁö¸¸ °­¿äÇÏÁö´Â ¾Ê´Â´Ù. ºñÁÖ¾ó C++Àº int, void ¸ðµÎ °¡´ÉÇѵ¥ °ú°ÅºÎÅÍ ÀÌ·¸°Ô ½á ¿Ô±â ¶§¹®¿¡ ȣȯ¼ºÀ» ´õ Áß¿ä½ÃÇÑ´Ù´Â ÀÔÀåÀÌ´Ù. gcc´Â Ç¥ÁØÀÇ ±Ç°í´ë·Î main ÇÔ¼öÀÇ ¸®ÅÏ Å¸ÀÔÀ¸·Î int¸¸ ÀÎÁ¤ÇÑ´Ù.

main ÇÔ¼ö°¡ ¸®ÅÏÇÏ´Â °ªÀ» Å»Ãâ ÄÚµå(Exit Code)¶ó°í Çϴµ¥ ÇÁ·Î±×·¥ÀÌ ½ÇÇàÀ» ¸¶Ä¡°í ¿î¿µÃ¼Á¦·Î º¹±ÍÇÒ ¶§ ¸®ÅϵǴ °ªÀÌ´Ù. ÇÔ¼ö°¡ ÀÛ¾÷ °á°ú¸¦ È£Ãâ¿øÀ¸·Î µ¹·ÁÁÖµíÀÌ ÀÀ¿ë ÇÁ·Î±×·¥µµ ÀÛ¾÷°á°ú¸¦ ¸®ÅÏÇÒ ¼ö ÀÖ´Ù. main ÇÔ¼ö°¡ ÇÁ·Î±×·¥ ±× ÀÚüÀ̹ǷΠmain ÇÔ¼öÀÇ ¸®ÅÏ°ªÀÌ °ð ÇÁ·Î±×·¥ÀÇ ¸®ÅÏ°ªÀÌ µÈ´Ù.

Å»Ãâ ÄÚµå´Â º¸Åë »ç¿ëµÇÁö ¾Ê°í ¹«½ÃµÇ´Âµ¥ ÀÌ ÇÁ·Î±×·¥À» È£ÃâÇÑ ÇÁ·Î±×·¥(º¸Åë ½©)ÀÌ ²À ÇÊ¿äÇÒ °æ¿ì Å»Ãâ Äڵ带 »ç¿ëÇϱ⵵ ÇÑ´Ù. ¿¹¸¦ µé¾î µµ½ºÀÇ ¹èÄ¡ ÆÄÀÏ(*.bat) ³»¿¡¼­ ÀÀ¿ë ÇÁ·Î±×·¥À» ½ÇÇàÇßÀ» ¶§ ÀÌ ÇÁ·Î±×·¥ÀÇ ½ÇÇà °á°ú¸¦ ERRORLEVELÀ̶ó´Â ȯ°æ º¯¼ö·Î ÂüÁ¶ÇÒ ¼ö ÀÖ´Ù. 32ºñÆ® ȯ°æ¿¡¼­´Â Å»Ãâ ÄÚµå ¿Ü¿¡µµ ÀÀ¿ë ÇÁ·Î±×·¥°£ÀÇ Åë½ÅÀ» À§ÇÑ ÀåÄ¡°¡ ¸¹ÀÌ ÁغñµÇ¾î ÀÖ¾î ¿äÁòÀº mainÀÇ ¸®ÅÏ°ªÀ» Àß »ç¿ëÇÏÁö ¾Ê´Â´Ù.

´ç¿¬ÇÑ ¾ê±â°ÚÁö¸¸ main ÇÔ¼ö°¡ intÇüÀ» ¸®ÅÏÇÒ ¶§, Áï ¿øÇüÀ» int main()À¸·Î ÇßÀ» ¶§´Â mainÀÇ ³¡¿¡ ¹Ýµå½Ã return¹®ÀÌ ÀÖ¾î¾ß ÇÏ¸ç ±×·¸Áö ¾ÊÀ» °æ¿ì ¸®ÅÏ°ªÀÌ ¾ø´Ù´Â °æ°í°¡ ¹ß»ýÇÑ´Ù. ´Ù¸¥ ÇÔ¼öµéÀº °ªÀ» ¸®ÅÏÇÏÁö ¾ÊÀ» °æ¿ì ¿¡·¯·Î 󸮵ÇÁö¸¸ main ÇÔ¼ö¸¸Å­Àº °æ°í·Î ó¸®ÇÑ´Ù´Â ¸é¿¡¼­ ÄÄÆÄÀÏ·¯°¡ mainÀ» Á¶±Ý Ư¼öÇÏ°Ô Ãë±ÞÇÏ´Â °ÍÀ» ¾Ë ¼ö ÀÖ´Ù.

 

int main()

{

}

int func()

{

}

°æ°í·Î 󸮵Ê

¿¡·¯·Î 󸮵Ê

 

C++ Ç¥ÁØ¿¡´Â mainÀÌ °ªÀ» ¸®ÅÏÇÏÁö ¾ÊÀ» °æ¿ì¸¦ ÀÎÁ¤ÇÏ°í ÀÖÀ¸¹Ç·Î mainÀº ¼³»ç ¸®ÅÏ Å¸ÀÔÀÌ intÀÌ´õ¶óµµ return¹®À» »ý·«ÇÒ ¼ö ÀÖ´Ù. ºñÁÖ¾ó C++ 7.0À̳ª gcc·Î Å×½ºÆ®ÇØ º¸¸é °ú¿¬ ±×·¸´Ù´Â °ÍÀ» È®ÀÎÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù. ±×·¯³ª ºñÁÖ¾ó C++ 6.0Àº Ç¥ÁØ ÀÌÀüÀÇ ÄÄÆÄÀÏ·¯¶ó °æ°í¸¦ Ãâ·ÂÇÏ¸ç ±×·¡¼­ ÀÌ ±ÍÂúÀº °æ°í¸¦ º¸Áö ¾Ê±â À§ÇØ ÀÌ Ã¥ÀÇ ¸ðµç ¿¹Á¦µéÀº ºñ·Ï ½ºÆÑÀÇ ±Ç°í¿Í´Â ´Ù¸£Áö¸¸ void main() Çü½ÄÀ» »ç¿ëÇÑ´Ù. 5ÁÙ¹Û¿¡ ¾ÈµÇ´Â ¿¹Á¦¿¡ return 0;°¡ Æ÷ÇÔµÇ¸é ¿¹Á¦ ±æÀÌ°¡ 20% ´Ã¾î³ª¹Ç·Î µµÀúÈ÷ ±×·² ¼ö ¾ø´Â °ÍÀÌ´Ù.

argc

¿î¿µÃ¼Á¦°¡ ÀÌ ÇÁ·Î±×·¥À» ½ÇÇàÇßÀ» ¶§ Àü´ÞµÇ´Â ÀμöÀÇ °³¼öÀÌ´Ù. ÇÔ¼ö¸¦ È£ÃâÇÒ ¶§ Àμö¸¦ Àü´ÞÇϵíÀÌ ¿î¿µÃ¼Á¦°¡ ÇÁ·Î±×·¥À» È£ÃâÇÒ ¶§µµ Àμö¸¦ Àü´ÞÇÒ ¼ö ÀÖ´Ù. ¸¸¾à ÆÄÀϳ¢¸® º¹»çÇÏ´Â boksa.exe¶ó´Â ÇÁ·Î±×·¥À» ÀÛ¼ºÇß´Ù°í ÇÏÀÚ. ÀÌ ÇÁ·Î±×·¥Àº º¹»çÇÒ ¿øº» ÆÄÀÏ°ú º¹»ç ´ë»ó ÆÄÀÏÀÇ À̸§À» ´ÙÀ½°ú °°ÀÌ Àμö·Î Àü´Þ¹ÞÀ» °ÍÀÌ´Ù.

 

boksa file1.txt file2.txt

 

À̶§ ½ÇÇà ÆÄÀÏÀÇ À̸§ÀÎ boksaµÚÀÇ file1.txt¿Í file2.txt°¡ ÇÁ·Î±×·¥ÀÇ ÀμöÀÌ´Ù. ÀÌ ÀμöµéÀº ¿î¿µÃ¼Á¦°¡ ÇÁ·Î±×·¥À¸·Î Àü´ÞÇÏ´Â ÀÛ¾÷°Å¸®, Áï ¾î¶² ÀÏÀ» Ç϶ó´Â Á¤º¸µéÀÌ´Ù. main ÇÔ¼ö°¡ ÇÁ·Î±×·¥ÀÇ ½ÃÀÛÁ¡À̱⠶§¹®¿¡ ÇÁ·Î±×·¥ÀÇ Àμö°¡ main ÇÔ¼ö·Î Àü´ÞµÈ´Ù.

argc Àμö´Â main ÇÔ¼ö·Î Àü´ÞµÈ ÀμöÀÇ °³¼öÀÌ´Ù. ù ¹ø° Àμö´Â ½ÇÇà ÆÄÀϸíÀ¸·Î °íÁ¤µÇ¾î ÀÖÀ¸¹Ç·Î argc´Â Ç×»ó 1º¸´Ù Å©´Ù. boksa a b ½ÄÀ¸·Î È£ÃâÇÒ °æ¿ì argc´Â 3ÀÌ µÈ´Ù. ÀÌ °ªÀº Àμö¸¦ ÇÊ¿ä·Î ÇÏ´Â ÇÁ·Î±×·¥¿¡¼­ Àμö°¡ Á¦´ë·Î ÀԷµǾú´ÂÁö¸¦ °Ë»çÇÒ ¶§ »ç¿ëÇÑ´Ù. Àμö°¡ ¾øÀ¸¸é ½ÇÇàÇÒ ¼ö ¾ø´Â °æ¿ì ÀÌ °ªÀ» Á¶»çÇؼ­ Àμö°¡ Á¦´ë·Î Àü´ÞµÇ¾ú´ÂÁö È®ÀÎÇÑ´Ù.

¸¸¾à ÇÊ¿äÇÑ Àμö°¡ ¾ø´Ù°Å³ª ¶Ç´Â ³²´Â´Ù¸é ¿¡·¯ ¸Þ½ÃÁö¸¦ Ãâ·ÂÇÏ°í ÇÁ·Î±×·¥À» ³¡³»°Å³ª ¾Æ´Ï¸é µðÆúÆ®¸¦ ÃëÇØ¾ß ÇÑ´Ù. ¿¹¸¦ µé¾î boksa.exe´Â º¹»ç ¿øº»°ú º¹»ç ´ë»ó ÆÄÀÏÀÌ ¹Ýµå½Ã Àü´ÞµÇ¾î¾ß ÇϹǷΠargc°¡ 3 ¹Ì¸¸ÀÏ °æ¿ì "º¹»çÇÒ ÆÄÀÏÀ» ÀÔ·ÂÇϼ¼¿ä"¶ó´Â ¿¡·¯ ¸Þ½ÃÁö¸¦ Ãâ·ÂÇÏ¸é µÉ °ÍÀÌ´Ù.

argv

ÇÁ·Î±×·¥À¸·Î Àü´ÞµÈ ½ÇÁ¦ Àμö°ªÀ̸ç ÀÌ °ªÀ» ÀÐÀ¸¸é ¿î¿µÃ¼Á¦·ÎºÎÅÍ ¾î¶² Àμö°¡ Àü´ÞµÇ¾ú´ÂÁö ¾Ë ¼ö ÀÖ´Ù. ¿î¿µÃ¼Á¦°¡ ÇÁ·Î±×·¥À» ½ÇÇàÇÒ ¶§´Â Ç×»ó ¹®ÀÚ¿­ ÇüÅÂÀÇ ½© ¸í·ÉÀ» ÀÔ·ÂÇϱ⠶§¹®¿¡ ÀμöÀÇ Å¸ÀÔÀº Ç×»ó ¹®ÀÚ¿­ÀÏ ¼ö¹Û¿¡ ¾ø´Ù. file1.txt¶ó°í Çϵç 1234¶ó°í ÇÏµç ¸í·ÉÇà¿¡¼­´Â Á¤¼ö´Ï ½Ç¼ö´Ï ÇÏ´Â °ÍµéÀÌ ¾øÀ¸¹Ç·Î ÀÔ·ÂµÈ ¾×¸é ±×´ë·Î ¹®ÀÚ¿­ Àμö°¡ Àü´ÞµÈ´Ù. ¸¸¾à Àü´ÞµÈ Àμö°¡ Á¤¼ö¶ó¸é ÀÏ´Ü ¹®ÀÚ¿­·Î ¹Þ¾Æ¼­ atoi µîÀÇ º¯È¯ ÇÔ¼ö·Î Á¤¼ö·Î ¹Ù²ã »ç¿ëÇØ¾ß ÇÑ´Ù.

ÀÌ·± ¹®ÀÚ¿­ Àμö°¡ ÇѲ¨¹ø¿¡ ¿©·¯ °³ Àü´ÞµÉ ¼ö ÀÖ´Ù. boksa file1.txt file2.txtÀÇ °æ¿ì boksa, file1.txt, file2.txt ¼¼ °³ÀÇ ¹®ÀÚ¿­ÀÌ Àμö·Î Àü´ÞµÈ´Ù. ±×·¡¼­ argv´Â ¹®ÀÚÇü Æ÷ÀÎÅ͸¦ °¡¸®Å°´Â Æ÷ÀÎÅÍ¿©¾ß ÇÑ´Ù. °£´ÜÈ÷ ¸»ÇÏÀÚ¸é argv´Â ¹®ÀÚÇü ÀÌÁß Æ÷ÀÎÅÍÀÌ°í Á» ´õ Çö½ÇÀûÀ¸·Î ¾ê±âÇÏÀÚ¸é ¹®ÀÚ¿­ ¹è¿­ÀÌ´Ù. ¿øÇü¿¡´Â char *argv[]·Î µÇ¾î Àִµ¥ ÀÌ Ç¥ÇöÀº char **argv¿Í °°´Ù. main ÇÔ¼öÀÇ Àμö¸¦ ÇÔ¼ö ºÎºÐ¿¡¼­ ¼³¸íÇÏÁö ¸øÇÏ°í ¿©±â±îÁö ¹Ì·é ÀÌÀ¯°¡ ¹Ù·Î ÀÌ ÇÔ¼ö°¡ ÀÌÁß Æ÷ÀÎÅ͸¦ »ç¿ëÇϱ⠶§¹®ÀÌ´Ù.

argv[0]´Â Ç×»ó ÇÁ·Î±×·¥ÀÇ À̸§ÀÌ Àü´ÞµÇ´Âµ¥ Åë»ó ¿ÏÀü °æ·Î¶ó°í º¸¸é µÈ´Ù. Á¤È®ÇÏ°Ô Ç¥ÇöÇÏÀÚ¸é ½©ÀÌ ÀÌ ÇÁ·Î±×·¥À» ½ÇÇàÇÒ ¶§ ÀÔ·ÂÇÑ ½ÇÇà ÆÄÀϸíÀε¥ ¸í·ÉÇà¿¡¼­ ½ÇÇà ÆÄÀÏ¸í¸¸ ÀÔ·ÂÇßÀ¸¸é °æ·Î´Â Æ÷ÇÔµÇÁö ¾ÊÀ» ¼öµµ ÀÖ´Ù. c:\prg µð·ºÅ丮¿¡ ÀÖ´Â boksa.exe¸¦ ½ÇÇàÇß´Ù¸é argv[0]´Â "c:\prg\boksa.exe"ÀÌ´Ù. ÀÌ °ªÀº ¿ì¸®°¡ ¿øÇÏ´Â Àμö, Áï ÇÁ·Î±×·¥ÀÇ ÀÛ¾÷°Å¸®¶ó°í´Â ÇÒ ¼ö ¾ø¾î Àß »ç¿ëµÇÁö ¾Ê´Â´Ù. ÇÁ·Î±×·¥À¸·Î Àü´ÞµÈ ù ¹ø° Àμö´Â argv[1]ÀÌ¸ç µÎ ¹ø° Àμö ÀÌÈĺÎÅÍ argv[2], argv[3] ½ÄÀ¸·Î Àü´ÞµÈ´Ù. boksa file1.txt file2.txt ¸í·ÉÀ¸·Î boksa¸í·ÉÀ» ½ÇÇàÇß´Ù¸é À̶§ Àü´ÞµÇ´Â argv ¹è¿­Àº ´ÙÀ½°ú °°´Ù.

env

¿î¿µÃ¼Á¦ÀÇ È¯°æ º¯¼ö¸¦ ¾Ë·Á ÁØ´Ù. ȯ°æ º¯¼ö´Â ¿î¿µÃ¼Á¦¸¶´Ù ´Ù¸£°Ô Á¤ÀÇÇϴµ¥ DOSÀÇ °æ¿ì Path, Prompt µîÀÌ ÀÖ°í À©µµ¿ìÁîÀÇ °æ¿ì ÄÄÇ»ÅÍ À̸§, ½Ã½ºÅÛ µð·ºÅ丮 µîÀÇ Á¤º¸µéÀÌ ÀÖ´Ù. ÀÀ¿ë ÇÁ·Î±×·¥¿¡°Ô ÀÚ½ÅÀÌ ½ÇÇàµÇ´Â ȯ°æÀ» ¾Ë ¼ö ÀÖµµ·Ï ÇØ Áشٴ Àǵµ·Î Àü´ÞµÇ´Â ÀμöÀ̳ª ÀÌ Àμö°¡ ¾Æ´Ï´õ¶óµµ ȯ°æ º¯¼ö¸¦ Á¶»çÇÒ ¼ö ÀÖ´Â ´Ù¸¥ ¹æ¹ýÀÌ Àֱ⠶§¹®¿¡ ½ÇÁúÀûÀ¸·Î »ç¿ëµÇÁö ¾Ê´Â´Ù. ¹«½ÃÇØ ¹ö¸®ÀÚ.

 

´ÙÀ½ ¿¹Á¦´Â main ÇÔ¼ö·Î Àü´ÞµÇ´Â Àμö¸¦ È­¸éÀ¸·Î Ãâ·ÂÇϱ⸸ ÇÑ´Ù. ½Ç¿ë¼ºÀº ¾øÁö¸¸ ¸í·ÉÇà¿¡¼­ ÀÔ·ÂÇÑ Àμö°¡ ¾î¶»°Ô ÇÁ·Î±×·¥À¸·Î Àü´ÞµÇ´ÂÁö¸¦ º¼ ¼ö ÀÖÀ» °ÍÀÌ´Ù.

 

¿¹ Á¦ : MainArg

#include <Turboc.h>

 

void main(int argc, char *argv[],char *env[])

{

     int i;

 

     printf("Àü´ÞµÈ ÀμöÀÇ °³¼ö = %d\n",argc);

     for (i=0;i<argc;i++) {

          printf("%d¹ø° Àμö = %s\n",i,argv[i]);

     }

}

 

ÅëÇÕ °³¹ß ȯ°æ¿¡¼­µµ Àμö¸¦ ÁöÁ¤ÇÒ ¼ö ÀÖÁö¸¸ ºÒÆíÇϹǷΠ¸í·É ÇÁ·ÒÇÁƮâÀ» ¿­°í Á÷Á¢ ÇÁ·Î±×·¥À» ½ÇÇàÇØ º¸ÀÚ.

 

C:\CExam\MainArg\Debug>MainArg dog baby

Àü´ÞµÈ ÀμöÀÇ °³¼ö = 3

0¹ø° Àμö = C:\CExam\MainArg\Debug\MainArg.exe

1¹ø° Àμö = dog

2¹ø° Àμö = baby

 

Àü´ÞµÈ ÀμöÀÇ °³¼ö¸¦ º¸¿©ÁÖ°í ¸ðµç Àμö¸¦ Ãâ·ÂÇÏ¿´´Ù. ´ÙÀ½ ¿¹Á¦´Â Á» ´õ ½Ç¿ëÀûÀε¥ ¸í·ÉÇà¿¡¼­ °è»ê½ÄÀ» ÀÔ·Â¹Þ¾Æ °£´ÜÇÑ Á¤¼ö »çÄ¢ ¿¬»êÀ» ¼öÇàÇÑ´Ù.

 

¿¹ Á¦ : CalcArg

#include <Turboc.h>

 

void main(int argc, char *argv[])

{

     int a,b,c;

     char op;

 

     if (argc != 4) {

          printf("°è»ê½ÄÀ» Á¤È®ÇÏ°Ô ÀÔ·ÂÇØ ÁֽʽÿÀ.");

          exit(0);

     }

 

     a=atoi(argv[1]);

     b=atoi(argv[3]);

     op=argv[2][0];

 

     switch (op) {

     case '+':

          c=a+b;

          break;

     case '-':

          c=a-b;

          break;

     case '*':

          c=a*b;

          break;

     case '/':

          c=a/b;

          break;

     default:

          printf("»çÄ¢ ¿¬»ê¸¸ ÇÒ ¼ö ÀÖ½À´Ï´Ù.\n");

          exit(0);

     }

 

     printf("°è»ê °á°ú = %d",c);

}

 

CalcArg ½ÇÇà ÆÄÀϸí°ú °£´ÜÇÑ ÀÌÇ× ¿¬»ê½ÄÀ» Àμö·Î Àü´ÞÇϸé ÀÌ ½ÄÀ» °è»êÇØ Ãâ·ÂÇÑ´Ù. Àμö°£ÀÇ ±¸ºÐÀ» À§Çؼ­´Â ÇÇ¿¬»êÀÚ¿Í ¿¬»êÀÚ »çÀ̸¦ ¹Ýµå½Ã °ø¹éÀ¸·Î ¶ç¿ö¾ß ÇÑ´Ù. ½ÇÇà °á°ú´Â ´ÙÀ½°ú °°´Ù.

 

C:\CExam\CalcArg\Debug>CalcArg 234 + 567

°è»ê °á°ú = 801

C:\CExam\CalcArg\Debug>CalcArg 578 * 12

°è»ê °á°ú = 6936

 

Àμö°¡ 4°³°¡ ¾Æ´Ï¸é °£´ÜÇÑ »ç¿ë¹ýÀ» Ãâ·ÂÇÑ ÈÄ ÇÁ·Î±×·¥À» Á¾·áÇϵµ·Ï Çß´Ù. ÀÌ ÇÁ·Î±×·¥Àº °è»êÀÇ Àç·á¸¦ ¸í·ÉÇàÀ¸·ÎºÎÅÍ Àü´Þ¹Þ´Âµ¥ °è»êÇÒ ½ÄÀ» Á¦´ë·Î ÁÖÁö ¾ÊÀ¸¸é Á¤»óÀûÀÎ µ¿ÀÛÀ» ÇÒ ¼ö ¾ø´Ù. ¸¸¾à argc¸¦ Á¡°ËÇÏÁö ¾ÊÀ¸¸é ¾û¶×ÇÑ Àμö·Î °è»êÀ» ¼öÇàÇÏ°Ô µÇ¹Ç·Î °á°ú¸¦ ÀüÇô ¿¹ÃøÇÒ ¼ö ¾øÀ» °ÍÀÌ´Ù.

ÀÏ´Ü Àμö°¡ 4°³ ´Ù Àü´ÞµÇ¾úÀ¸¸é argv[1]°ú argv[3]¿¡ Àü´ÞµÈ ÇÇ¿¬»êÀÚ¸¦ ±¸ÇØ a, b¿¡ ÀúÀåÇÑ´Ù. ¸í·ÉÇà¿¡¼­ Àü´ÞµÈ Àμö´Â ¸ðµÎ ¹®ÀÚ¿­À̹ǷΠÁ¤¼ö·Î ¹Ù²Ù±â À§ÇØ atoi ÇÔ¼ö¸¦ »ç¿ëÇß´Ù. ¿¬»êÀÚ´Â Áß°£ÀÇ argv[2]·Î Àü´ÞµÇ´Âµ¥ ¸ðµÎ ÇÑ ¹®ÀÚ·Î ±¸¼ºµÇ¾î ÀÖÀ¸¹Ç·Î argv[2]ÀÇ Ã¹ ¹®ÀÚ¸¸ »ìÆ캸¸é µÈ´Ù. ¸¸¾à ¿¬»êÀÚ°¡ +, -, *, / ÁßÀÇ Çϳª°¡ ¾Æ´Ï¸é ¿¡·¯ ¸Þ½ÃÁö¸¦ Ãâ·ÂÇÑ´Ù.

Àμö 4°³°¡ Á¦´ë·Î Àü´ÞµÇ¾ú°í »çÄ¢ ¿¬»êÁßÀÇ ÇϳªÀ̸é ÀÔ·ÂµÈ ½Ä´ë·Î ¿¬»êÇÏ¿© ±× °á°ú¸¦ Ãâ·ÂÇÏ°í ÇÁ·Î±×·¥À» Á¾·áÇÑ´Ù. ¿¬»êÀÚ¿Í ÇÇ¿¬»êÀÚ »çÀÌ¿¡ °ø¹éÀÌ ¹Ýµå½Ã ÀÖ¾î¾ß ÇÏ°í »çÄ¢ ¿¬»ê¹Û¿¡ ¸øÇÏÁö¸¸ main ÇÔ¼öÀÇ Àμö¸¦ ¾î¶»°Ô Àü´Þ¹Þ°í »ç¿ëÇÏ´ÂÁö¸¦ »ìÆ캸±â¿¡´Â ºÎÁ·ÇÏÁö ¾ÊÀ» °ÍÀÌ´Ù.