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=2;
        printf("%d, %d\n", ++i, ++i);
        return 0;
    }
    


  • Options
  • A. 3, 4
  • B. 4, 3
  • C. 4, 4
  • D. Output may vary from compiler to compiler

  • Correct Answer
  • Output may vary from compiler to compiler 

    Explanation
    The order of evaluation of arguments passed to a function call is unspecified.

    Anyhow, we consider ++i, ++i are Right-to-Left associativity. The output of the program is 4, 3.

    In TurboC, the output will be 4, 3.

    In GCC, the output will be 4, 4.


    More questions

    • 1. Which of the following is the correct usage of conditional operators used in C?

    • Options
    • A. a>b ? c=30 : c=40;
    • B. a>b ? c=30;
    • C. max = a>b ? a>c?a:c:b>c?b:c
    • D. return (a>b)?(a:b)
    • Discuss
    • 2. Is there any difference between following declarations?

      1 : extern int fun();
      2 : int fun();

    • Options
    • A. Both are identical
    • B. No difference, except extern int fun(); is probably in another file
    • C. int fun(); is overrided with extern int fun();
    • D. None of these
    • Discuss
    • 3. A preprocessor directive is a message from programmer to the preprocessor.

    • Options
    • A. True
    • B. False
    • Discuss
    • 4. Which of the statements is correct about the program?
      #include<stdio.h>
      
      int main()
      {
          int arr[3][3] = {1, 2, 3, 4};
          printf("%d\n", *(*(*(arr))));
          return 0;
      }
      

    • Options
    • A. Output: Garbage value
    • B. Output: 1
    • C. Output: 3
    • D. Error: Invalid indirection
    • Discuss
    • 5. Which of the following is the correct order of evaluation for the below expression?
      z = x + y * z / 4 % 2 - 1

    • Options
    • A. * / % + - =
    • B. = * / % + -
    • C. / * % - + =
    • D. * % / - + =
    • Discuss
    • 6. Declare the following statement?
      "An array of three pointers to chars".

    • Options
    • A.
      char *ptr[3]();
    • B.
      char *ptr[3];
    • C.
      char (*ptr[3])();
    • D.
      char **ptr[3];
    • Discuss
    • 7. What will be the output of the program?
      #include<stdio.h>
      int check (int, int);
      
      int main()
      {
          int c;
          c = check(10, 20);
          printf("c=%d\n", c);
          return 0;
      }
      int check(int i, int j)
      {
          int *p, *q;
          p=&i;
          q=&j;
          i>=45? return(*p): return(*q);
      }
      

    • Options
    • A. Print 10
    • B. Print 20
    • C. Print 1
    • D. Compile error
    • Discuss
    • 8. If the file 'source.txt' contains a line "Be my friend" which of the following will be the output of below program?
      #include<stdio.h>
      
      int main()
      {
          FILE *fs, *ft;
          char c[10];
          fs = fopen("source.txt", "r");
          c[0] = getc(fs);
          fseek(fs, 0, SEEK_END);
          fseek(fs, -3L, SEEK_CUR);
          fgets(c, 5, fs);
          puts(c);
          return 0;
      }
      

    • Options
    • A. friend
    • B. frien
    • C. end
    • D. Error in fseek();
    • Discuss
    • 9. What will be the output of the program?
      #include<stdio.h>
      
      int addmult(int ii, int jj)
      {
          int kk, ll;
          kk = ii + jj;
          ll = ii * jj;
          return (kk, ll);
      }
      
      int main()
      {
          int i=3, j=4, k, l;
          k = addmult(i, j);
          l = addmult(i, j);
          printf("%d %d\n", k, l);
          return 0;
      }

    • Options
    • A. 12 12
    • B. No error, No output
    • C. Error: Compile error
    • D. None of above
    • Discuss
    • 10. What will be the output of the program?
      #include<stdio.h>
      #define MESS junk
      
      int main()
      {
          printf("MESS\n");
          return 0;
      }
      

    • Options
    • A. junk
    • B. MESS
    • C. Error
    • D. Nothing will print
    • Discuss


    Comments

    There are no comments.

Enter a new Comment