CoolInterview.com - World's Largest Collection of Interview Questions
 Interview Questions  
 Our Services  

Get 9,000 Interview Questions & Answers in an eBook.


  • 9500+ Pages
  • 9000 Question & Answers
  • All Tech. Categories
  • 14 MB Content

    Get it now !!


    Send your Resume to 6000 Companies


  • INTERVIEW QUESTIONS LANGUAGES C DETAILS
    Question :
    main()
    {
    int i =10, j = 20;
    clrscr();
    printf("%d, %d, ", j-- , --i);
    printf("%d, %d ", j++ , ++i);
    }



    Category C Interview Questions
    Rating (0.0) By 0 users
    Added on 7/18/2006
    Views 633
    Rate it!
    Answers:

    A) 20, 9, 19, 10
    in first -- printf "j" will be printed first then subtracted one from it. however from "i" one will subtracted before printing it on the screen




    In printf() evaluation happens from right to left. <--- . so --i is evaluated first and then j--.

    When --i is evaluated, first it should decrement and then assign to i. So the value becomes 9.
    When j-- is evaluated, first assign and then decrement. So j-- value will be 20 only at that time later it will be 19.

    At this point of time i=9 and j=19.

    Now the second printf(), Here also right to left. So ++i value will be(increment and then assign) 10. Where as j++(assign first then increment) its value will be still 19. After this printf() if we print the i and j values it will be 10 and 20.

    Extra Information:
    Whenever parameters are passed to a function, after evaluation they are stored in stack. similarly, --i value ie 9 is pushed into stack and later j-- value ie 20. So while printing on the screen, the first value ie j-- is poped first and later --i value. Hence we get 20,9 as the output of the first printf(). similarly we get 19,10



     Posted by: Syed Baseer Ahmed    

    Contact Syed Baseer Ahmed  Contact Syed Baseer Ahmed


    If you have the better answer, then send it to us. We will display your answer after the approval.
    Name :*
    Email Id :*
    Answer :*
    Verification Code Code Image - Please contact webmaster if you have problems seeing this image code Not readable? Load New Code
    Process Verification  Enter the above shown code:*
    Inform me about updated answers to this question

       
    Related Questions
    View Answer
    void main ()
    {
    int x = 10;
    printf ("x = %d, y = %d", x,--x++);
    }


    View Answer
    main()
    {
    char c;
    int i = 456;
    clrscr();
    c = i;
    printf("%d", c);
    }


    View Answer
    main()
    {
    int c = 5;
    printf("%d", main||c);
    }


    View Answer
    main()
    {
    int i = 100;
    clrscr();
    printf("%d", sizeof(sizeof(i)));
    }


    View Answer
    main()
    {
    printf("%d, %d", sizeof('c'), sizeof(100));
    }


    View Answer
    void func1(int (*a)[10])
    {
    printf("Ok it works");
    }
    void func2(int a[][10])
    {
    printf("Will this work?");
    }

    main()
    {
    int a[10][10];
    func1(a);
    func2(a);
    }


    View Answer
    main()
    {
    char *a = "Hello ";
    char *b = "World";
    clrscr();
    printf("%s", strcpy(a,b));
    }


    View Answer
    main()
    {
    char *a = "Hello ";
    char *b = "World";
    clrscr();
    printf("%s", strcat(a,b));
    }


    View Answer
    struct Foo
    {
    char *pName;
    char *pAddress;
    };
    main()
    {
    struct Foo *obj = malloc(sizeof(struct Foo));
    clrscr();
    obj->pName = malloc(100);
    obj->pAddress = malloc(100);
    strcpy(obj->pName,"Your Name");
    strcpy(obj->pAddress, "Your Address");
    free(obj);
    printf("%s", obj->pName);
    printf("%s", obj->pAddress);
    }


    View Answer
    struct Foo
    {
    char *pName;
    };
    main()
    {
    struct Foo *obj = malloc(sizeof(struct Foo));
    clrscr();
    strcpy(obj->pName,"Your Name");
    printf("%s", obj->pName);
    }


    View Answer

    Please Note: We keep on updating better answers to this site. Subscribe to our newsletter to get notified when better answer is posted.

    Notify me when better answer is posted!
    Email:

    View ALL C Interview Questions

    User Options
    Sponsored Links


    Copyright ©2003-2009 CoolInterview.com, All Rights Reserved.
    Privacy Policy | Terms and Conditions
    Page URL: http://www.coolinterview.com/interview/6002/default.asp?cachecommand=bypass


    Download Yahoo Messenger | Placement Papers| FREE SMS | ASP .Net Tutorial | Web Hosting | Dedicated Servers | Joke of the Day

    0.41