1. We have moved from vBulletin to XenForo and you are viewing the site in the middle of the move. Though the functional aspect of everything is working fine, we are still working on other changes including the new design on Xenforo.
    Dismiss Notice

what is the effect of static

Discussion in 'C' started by anchitjindal07, Jul 13, 2009.

  1. anchitjindal07

    anchitjindal07 New Member

    Hello friends Please help me with following problem in C

    void main()
    {
    static int sub[5]={10,20,30,40,50};
    int i=5;
    clrscr();
    sub=i*i;
    printf("%d\n",sub);
    getch();
    }


    Here the storage class of array sub[] is declared to be static and printf prints character corresponding to ASCII value 25

    If we declare storage class of sub[] to be auto then printf() prints 25

    Why this difference comes
     
  2. xpi0t0s

    xpi0t0s Mentor

    You have undefined behaviour because sub[5] doesn't exist.
    Limit i to the range 0..4 and you should get consistent behaviour.
     
  3. anchitjindal07

    anchitjindal07 New Member

    Thanks.....friend
     

Share This Page