ÇÁ·Î±×·¡¹Ö

 3204, 1/161 ȸ¿ø°¡ÀÔ  ·Î±×ÀΠ 
   jwkzzangs
   ÀÌ ¼Ò½º ¿Ö ÀÌ·±°ªÀÌ ³ª¿À´ÂÁö Á¤È®È÷ ¾Æ½Ã´ÂºÐ.. ¼³¸íÁ»

http://www.hackerschool.org/HS_Boards/zboard.php?id=QNA_programming&no=2032 [º¹»ç]


#include <stdio.h>

int fun(int *a)
{
        *a = (*a) + 10;
        return (*a);
}

int main(void)
{
        int a, b;
        
        a = 10;
        b = fun(&a) + a + fun(&a);
        printf("b : %d\n", b);

        a = 10;
        b = fun(&a) + fun(&a) + a;
        printf("b : %d\n", b);

        a = 10;
        b = a + fun(&a) + fun(&a);
        printf("b : %d\n", b);

        a = 10;
        b = a + a + fun(&a) + a + fun(&a);
        printf("b : %d\n", b);
        return 0;
}

Ãâ·Â°ªÀº 70 80 70 90ÀÔ´Ï´Ù...

  Hit : 2838     Date : 2009/05/20 11:54



    
commio ....
funÀ̶õ ÇÔ¼ö¸¦ Çؼ®Çϸé... intÇüÀÇ º¯¼ö¸¦ ÀúÀåÇÏ°í ÀÖ´Â Æ÷ÀÎÅ͸¦ ¹Þ¾Æ¼­
±× Æ÷ÀÎÅÍ°ª¿¡ 10ÀÇ ´õÇÑÈÄ ±× Æ÷ÀÎÅÍ°ªÀ» ¹ÝȯÇϰԵ˴ϴÙ.
Æ÷ÀÎÅÍ¿¡ Á÷Á¢ ¿¬»êÇϱ⶧¹®¿¡ º¯¼ö aÀÇ °ªÀÇ º¯È­´Â »ý±â°Ô µË´Ï´Ù.

µû¶ó¼­ ù¹ø°¿¡¼­

b = fun(&a) + a + fun(&a);
óÀ½ÀÇ fun¿¡¼­ a´Â 20À̵ǰí 20À» ¸®ÅÏÇÕ´Ï´Ù. 20
µÎ¹ø°¿¡ ÀÖ´Â a´Â ¾ÕÀÇ fun¿¡ ÀÇÇؼ­ 20ÀÌ µÇ¾ú½À´Ï´Ù. 20
¸¶Áö¸· funÀº a¸¦ 30À¸·Î ¸¸µé°í 30À» ¸®ÅÏÇÕ´Ï´Ù. 30
µû¶ó¼­ 70

³ª¸ÓÁö´Â ½º½º·Î »ý°¢Çغ¸¼¼¿ä.. À§¿Í °°Àº ¹æ½ÄÀÔ´Ï´Ù.
Æ÷ÀÎÅÍ¿¡ ´ëÇÑ °³³äÀÌ ºÎÁ·ÇÑ°Å °°³×¿ä ^^;; Æ÷ÀÎÅÍ´Â ²À È®½ÇÈ÷ ¾Ë°í ³Ñ¾î°¡¾ßÇÕ´Ï´Ù.
2009/05/21  
powermilk b = fun(&a) + a + fun(&a); ¡ç ÀÌ ºÎºÐ¸¸ ¼³¸íÀ» ÇÏ°Ú½À´Ï´Ù.

fun(&a)
ÀÏ´Ü funÀ̶ó´Â ÇÔ¼ö ³»¿¡ º¯¼öaÀÇ ÁÖ¼Ò(&)¸¦ ³Ö½À´Ï´Ù.
mainÇÔ¼ö ³»¿¡ ÀÖ´Â aÀÇ ÁÖ¼Ò°¡ 0x1000À̶ó°í °¡Á¤ÇսôÙ.
±×·¸´Ù¸é 0x1000À̶ó´Â ÁÖ¼Ò°¡

¿©±â, ÀÌ ºÎºÐ, ¸Å°³º¯¼öÀÎ Æ÷ÀÎÅÍ a
¡é
int fun(int *a)
{
*a = (*a) + 10;
return (*a);
}

aÀÇ ÁÖ¼Ò(0x1000)´Â funÇÔ¼ö ³»¿¡ ÀÖ´Â int* a¶ó´Â '¸Å°³ º¯¼ö'¿¡ ÀúÀåÀÌ µË´Ï´Ù.
¸Å°³ º¯¼ö¶õ "¸î °³ÀÇ º¯¼ö »çÀÌ¿¡ ÇÔ¼ö°ü°è¸¦ Á¤Çϱâ À§Çؼ­ »ç¿ëµÇ´Â ¶Ç ´Ù¸¥ ÇϳªÀÇ º¯¼ö"ÀÔ´Ï´Ù.
mainÇÔ¼ö ³»¿¡ ÀÖ´Â º¯¼ö a¿Í funÇÔ¼ö ³»¿¡ ÀÖ´Â Æ÷ÀÎÅÍ º¯¼ö *a´Â ¾ö¿¬È÷ ´Ù¸¥ 2°³ÀÇ º¯¼öÀÔ´Ï´Ù.
°á·ÐÀûÀ¸·Î ¸»ÇÏÀÚ¸é fun¿¡ ¼±¾ðµÇ¾î ÀÖ´Â
¸Å°³º¯¼ö *a´Â mainÇÔ¼ö ³»¿¡ ÀÖ´Â º¯¼ö aÀÇ ÁÖ¼Ò¸¦ °¡Áö°í ÀÖ½À´Ï´Ù.
ÀÌ°ÍÀ» º¸Åë "Æ÷ÀÎÅÍ a´Â º¯¼ö a¸¦ °¡¸®Å²´Ù" Ç¥ÇöÇÕ´Ï´Ù.
*¿¬»êÀÚ¿Í &¿¬»êÀÚ´Â »ó¹ÝµÈ °³³äÀ» °¡Áö°í ÀÖ½À´Ï´Ù.

*a¶ó°í Çϸé 3°¡ÁöÀÇ Àǹ̰¡ ÀÖ½À´Ï´Ù.

1. a¶ó´Â º¯¼ö¿¡ ÀÖ´Â °ª
2. º¯¼öÀÇ ÁÖ¼Ò¸¦ ÀúÀåÇÏ´Â Æ÷ÀÎÅÍ a
3. °öÇϱâ a

*a¶ó°í ¼±¾ðµÇ¸é Àú À§¿¡ ÀÖ´Â 3°¡ÁöÁß ÇϳªÀÔ´Ï´Ù.



&a¶ó°í Çϸé 2°¡ÁöÀÇ Àǹ̰¡ ÀÖ½À´Ï´Ù.

1. a¶ó´Â º¯¼öÀÇ ÁÖ¼Ò
2. ±×¸®°í a

&a¶ó°í ¼±¾ðµÇ¸é Àú À§¿¡ ÀÖ´Â 2°¡ÁöÁß ÇϳªÀÔ´Ï´Ù.


funÇÔ¼ö ³»¿¡ *a = (*a)+10; À̶ó°í ¼±¾ðµÇ¾î Àִµ¥ ÀÌ°É Çؼ®ÇÏÀÚ¸é
a°¡ °¡¸®Å°´Â º¯¼ö a¿¡ "¸Å°³º¯¼ö a°¡ °¡¸®Å°´Â º¯¼öÀÇ °ª+10"À» ÀúÀåÇ϶ó.
funÇÔ¼ö ³»¿¡ a°¡ °¡¸®Å°´Â °ªÀ» µû¶ó°¡ º¸¸é mainÇÔ¼ö³»¿¡ 10À̶ó´Â °ÍÀ» ¾Ë ¼ö ÀÖÁÒ.
°á±¹¿£ return (*a); Áï, ¸Å°³º¯¼öa °¡¸®Å°´Â mainÇÔ¼ö³»ÀÇ aÀÇ °ªÀ» ¸®ÅÏÇÏ°Ú´Ù´Â ÀǹÌÀÔ´Ï´Ù.
2009/05/21  
jwkzzangs ±×·³
a + fun(&a) => 40
fun(&a) + a => 40 ÀÌ ³ª¿À´Â ÀÌÀ¯´Â ¹º°¡¿ä?
¸»¾¸ÇϽŵ¥·Î Çϸé
a + fun(&a) => 30
fun(&a) + a => 40
ÀÌ ³ª¿Í¾ß Çϴµ¥¿ä?
2009/05/21  
powermilk b = fun(&a) + a + fun(&a);

a°¡ ³Ñ¾î¿À°í 10+10À̸é 20ÀÌ µË´Ï´Ù.

±×·³ ¸ÞÀÎ ÇÔ¼ö³»¿¡ ÀÖ´Â a¶ó´Â °ªµµ 20ÀÌ µË´Ï´Ù.

±×·³ b=20+20+fun(&a)

funÇÔ¼ö°¡ ´Ù½Ã È£ÃâµÇ¸é

20À̶ó´Â °ª¿¡ 10À» ´õÇÕ´Ï´Ù. -> (*a = (*a) + 10;)

±×·³ 30ÀÌ µË´Ï´Ù.

20+20+30=70

Áï aÀÇ °ªÀÌ 70ÀÌ µË´Ï´Ù.

ÀÌ°ÍÀ» ÀÌÇØÇϱâ À§Çؼ±

Call-by-Reference¿Í Call-by-ValueÀÇ °³³äÀ» È®½ÇÈ÷ ¾Æ¼Å¾ß µË´Ï´Ù.
2009/05/21  
commio Áú¹®ÀÚ²²¼­ ÇϽŠÁú¹®À» ¾Ë°Ú½À´Ï´Ù.
½Å±âÇÏ°Ôµµ
a+a+fun(&a) ¿Í a+fun(&a)ÀÇ °ªÀº °°´õ±º¿ä...
µð¹ö±ëÀ» Çغ¼·Á°íÇßÁö¸¸... µð¹ö°Å°¡ ½ÇÇàÀ̾ȵǼ­..¤»¤»¤»
¾Ë¾Æ³»´Â´ë·Î ¾Ë·Áµå¸®°Ú½À´Ï´Ù.
2009/05/21  
powermilk ¾î, ÁøÂ¥³× ¤»¤»¤»¤» 2009/05/21  
jwkzzangs a+a+fun(&a) ¿Í a+fun(&a) ÀÌ °ªÀÌ °°Àº ÀÌÀ¯´Â Àü ÀÌ·¸°Ô »ý°¢ÇÕ´Ï´Ù.
¿ì¼± ¿¬»êÀ» ÇÒ¶§ ¿ÞÂÊ¿¡¼­ ºÎÅÍ 2°³¾¿ Àß¶ó¼­ ½ÇÇàÀ» ÇÏ°í 2°³°¡ ¸ðµÎ ¿¬»ê °¡´ÉÇϵµ·Ï µÇ¾ßÁö ¿¬»êÀÌ °¡´ÉÇÏ´Ù°í »ý°¢µË´Ï´Ù.
±×·¸°Ô »ý°¢ÇÑ´Ù¸é
a+a+fun(&a)À» ÇÒ¶§
1. ( (a+a) + fun(&a) ) ; // a = 10, óÀ½ a+a µÑ´Ù ¹Ù·Î ¿¬»êÇÏ¸é µÇ¹Ç·Î
2. ( (20) + fun(&a)); // a = 10, ¿À¸¥ÂÊÀÌ ¿¬»êÀÌ µÇ¾î¾ß ¿¬»êÀÌ µÇ¹Ç·Î funÀ» ¸ÕÀú ½ÇÇà
3. (20 + 20); // a = 20

a+fun(&a)À» ÇÒ¶§
1. ( a+fun(&a) ); // a = 10, ¿À¸¥ÂÊÀÌ ¿¬»êÀÌ µÇ¾î¾ß ¿¬»êÀ» ÇϹǷΠfunÀ» ¸ÕÀú ½ÇÇà
2. ( a+(20) ) ; // a = 20
ÀÌ·¸°Ô ¿¬»êÀ» ÇÑ´Ù´Â °ÍÀÌÁÒ;;
2009/05/22  
commio À§ ¸»¾¸´ë·Î¶ó¸é
int c=0 À¸·Î ¸¸µé¾îµÎ°í
c + c + a + fun(&a)¶û a + fun(&a)°¡ °°´Ù´Â ¸»Àä....
ÄÄÆÄÀÏÇغÁ¾ß¾Ë°ÚÁö¸¸.... Áö±Ý ±âÂ÷¶ó¼­ ¤»¤»¤»¤»;;;;
Èûµå³×¿ä;; USB¶óµµ µé°í ¿ÔÀ¸¸é... USB¿¡ ¸®´ª½º Àִµ¥... ´íÀå..±¹..
2009/05/22  
jwkzzangs Á¦ ¹æ½Ä´ë·Î ÇÏÀÚ¸é
( ( (c+c) + a ) + fun(&a) ) ÀÌ µÇ°ÚÁÒ
( ( ( 0 ) + a ) + fun(&a) ) // a = 10, c = 0
( ( 0 + a ) + fun(&a) ) // a = 10, c = 0
( 10 + fun(&a) ) // a = 10, c = 0
( 10 + 20 ) // a = 20, c = 0
( 30 ) // a = 20, c = 0
Áö±Ý ÄÄÆÄÀÏ Çغôµ¥ 30 ³ª¿À³×¿ä

a + fun(&a) ´Â
( a + fun(&a) ) // a = 10
( a + 20 ) // a = 20
( 40 ) // a = 20
À̰͵µ ÄÄÆÄÀÏ Çغ¸¸é 40³ª¿À³×¿ä
°á·ÐÀûÀ¸·Î
c + c + a + fun(&a) != a + fun(&a)
À̶ó°í ÇÒ¼öÀÖ°ÚÁÒ;;;
2009/05/22  
3204   Ä¡Æ®¿£Áø °í¼öºÐ °è½Ç±î¿ä[1]     rjsdudals123
02/15 226
3203   ¿À·ù Á» ã¾ÆÁÖ¼¼¿ä [1]     marunim
05/30 954
3202   c¾ð¾î segmentation fault:11 ¿À·ù Áú¹®µå¸³´Ï´Ù![2]     leebk1124
05/21 2032
3201   C++ÇÔ¼ö°ü·Ã Áú¹®ÀÌ¿¡¿ë!![3]     1999dylee
05/11 1860
3200   ÆÄÀ̽ã Áö¹® µå¸³´Ï´Ù.[1]     kksh1107
04/24 1600
3199   ¸®¹ö½ÌÀÇ ¼¼¹ø¤Š ²É - ¿ª¶û-     nninni79
04/20 2307
3198   ´Þ°í³ª ¹®¼­ ½©ÄÚµå[1]     ghjk645
03/24 1624
3197 ºñ¹Ð±ÛÀÔ´Ï´Ù  c¾ð¾î ¼Ò¼ö °ª     adwefq
04/29 1
3196   C¾ð¾î ¼Ò½ºÁú¹®ÀÔ´Ï´Ù![5]     an0088
01/05 5184
3195   C++ /// ºôµå ¿¡·¯ ¤Ð¤Ð[1]     guichanta
08/23 2412
3194 ºñ¹Ð±ÛÀÔ´Ï´Ù  c¾ð¾î µµ¿ÍÁÖ¼¼¿ä¤Ð¤Ð     su6339
04/06 0
3193   ÇØÅ·À» ¹è¿ì·Á°íÇϴµ¥[3]     zoodem04
03/26 4190
3192   c¾ð¾î¸¦ ¹è¿ì°í½Í¾î¿ä ![7]     dwc07238
02/11 4101
3191   ½ºÅÃÀÌ ½×ÀÌ´Â ¹æÇâ¿¡ °üÇؼ­!![1]     hackxx123
12/10 3536
3190   ÇØÅ·Åø¿¡¼­ ip ¾øÀÌ Çϵ忡 ½É´Â°Å¿¡´Â ¾î¶²°Ô ÀÖÀ»±î¿ä?[2]     aowlrgmlals
11/27 4330
3189   C¾ð¾î Çϴµ¥ double ½Ç¼ö¸¦ ³ÖÀºµ¥ ÀÚ²Ù 0.0ÀÌ ³ª¿Í¿ä[2]     fatou10336
11/20 3790
3188   dumpcode.h ÀÌÇØÁ» µµ¿ÍÁÖ¼¼¿ä .[1]     cm6418
11/06 3761
3187   c¾ð¾î ¾Ë°í¸®Áò Áú¹®ÀÔ´Ï´Ù.[3]     alstn8150
10/12 3773
3186     [re] c¾ð¾î ¾Ë°í¸®Áò Áú¹®ÀÔ´Ï´Ù.     dafher
05/13 1599
3185   c¾ð¾î ¼Ò½º Áú¹® ¹¹°¡ ¹®Á¦ÀÎÁö¤Ì¤Ì¤Ì¤Ì[2]     sjjh96
05/23 4310
1 [2][3][4][5][6][7][8][9][10]..[161]

Copyright 1999-2024 Zeroboard / skin by Hackerschool.org / Secure Patch by Hackerschool.org