logo

CuriousTab

CuriousTab

Discussion


Home C Programming Expressions See What Others Are Saying!
  • Question
  • What will be the output of the program?
    #include<stdio.h>
    int main()
    {
        int i=-3, j=2, k=0, m;
        m = ++i && ++j || ++k;
        printf("%d, %d, %d, %d\n", i, j, k, m);
        return 0;
    }
    


  • Options
  • A. 1, 2, 0, 1
  • B. -3, 2, 0, 1
  • C. -2, 3, 0, 1
  • D. 2, 3, 1, 1

  • Correct Answer
  • -2, 3, 0, 1 

    Explanation
    Step 1: int i=-3, j=2, k=0, m; here variable i, j, k, m are declared as an integer type and variable i, j, k are initialized to -3, 2, 0 respectively.

    Step 2: m = ++i && ++j || ++k;
    becomes m = (-2 && 3) || ++k;
    becomes m = TRUE || ++k;.
    (++k) is not executed because (-2 && 3) alone return TRUE.
    Hence this statement becomes TRUE. So it returns '1'(one). Hence m=1.

    Step 3: printf("%d, %d, %d, %d\n", i, j, k, m); In the previous step the value of i,j are increemented by '1'(one).

    Hence the output is "-2, 3, 0, 1".


    More questions

    • 1. Bitwise can be used to reverse a sign of a number.

    • Options
    • A. Yes
    • B. No
    • Discuss
    • 2. Is it necessary that in a function which accepts variable argument list there should be at least be one fixed argument?

    • Options
    • A. Yes
    • B. No
    • Discuss
    • 3. Bitwise can be used to generate a random number.

    • Options
    • A. Yes
    • B. No
    • Discuss
    • 4. A function that receives variable number of arguments should use va_arg() to extract the last argument from the variable argument list.

    • Options
    • A. True
    • B. False
    • Discuss
    • 5. Bitwise & can be used to check if more than one bit in a number is on.

    • Options
    • A. True
    • B. False
    • Discuss
    • 6. The preprocessor can trap simple errors like missing declarations, nested comments or mismatch of braces.

    • Options
    • A. True
    • B. False
    • Discuss
    • 7. It is necessary that a header files should have a .h extension?

    • Options
    • A. Yes
    • B. No
    • Discuss
    • 8. Bitwise | can be used to set multiple bits in number.

    • Options
    • A. Yes
    • B. No
    • Discuss
    • 9. Bitwise & can be used to check if a bit in number is set or not.

    • Options
    • A. True
    • B. False
    • Discuss
    • 10. A pointer union CANNOT be created

    • Options
    • A. Yes
    • B. No
    • Discuss


    Comments

    There are no comments.

Enter a new Comment