logo

CuriousTab

CuriousTab

Discussion


Home C Programming Declarations and Initializations Comments

  • Question
  • What is the output of the program?
    #include<stdio.h>
    int main()
    {
        extern int a;
        printf("%d\n", a);
        return 0;
    }
    int a=20;
    


  • Options
  • A. 20
  • B. 0
  • C. Garbage Value
  • D. Error

  • Correct Answer
  • 20 

    Explanation
    extern int a; indicates that the variable a is defined elsewhere, usually in a separate source code module.

    printf("%d\n", a); it prints the value of local variable int a = 20. Because, whenever there is a conflict between local variable and global variable, local variable gets the highest priority. So it prints 20.


    Declarations and Initializations problems


    Search Results


    • 1. What is the output of the program given below?
      #include<stdio.h>
      int main()
      {
          enum status { pass, fail, atkt};
          enum status stud1, stud2, stud3;
          stud1 = pass;
          stud2 = atkt;
          stud3 = fail;
          printf("%d, %d, %d\n", stud1, stud2, stud3);
          return 0;
      }
      

    • Options
    • A. 0, 1, 2
    • B. 1, 2, 3
    • C. 0, 2, 1
    • D. 1, 3, 2
    • Discuss
    • 2. What will be the output of the program in 16 bit platform (Turbo C under DOS)?
      #include<stdio.h>
      int main()
      {
          extern int i;
          i = 20;
          printf("%d\n", sizeof(i));
          return 0;
      }
      

    • Options
    • A. 2
    • B. 4
    • C. vary from compiler
    • D. Linker Error : Undefined symbol 'i'
    • Discuss
    • 3. What do the following declaration signify?
      int *ptr[30];

    • Options
    • A. ptr is a pointer to an array of 30 integer pointers.
    • B. ptr is a array of 30 pointers to integers.
    • C. ptr is a array of 30 integer pointers.
    • D. ptr is a array 30 pointers.
    • Discuss
    • 4. What do the following declaration signify?
      void (*cmp)();

    • Options
    • A. cmp is a pointer to an void function type.
    • B. cmp is a void type pointer function.
    • C. cmp is a function that return a void pointer.
    • D. cmp is a pointer to a function which returns void .
    • Discuss
    • 5. Declare the following statement?
      "A pointer to an array of three chars".

    • Options
    • A.
      char *ptr[3]();
    • B.
      char (*ptr)*[3];
    • C.
      char (*ptr[3])();
    • D.
      char (*ptr)[3];
    • Discuss
    • 6. What will be the output of the program?
      #include<stdio.h>
      int X=40;
      int main()
      {
          int X=20;
          printf("%d\n", X);
          return 0;
      }
      

    • Options
    • A. 20
    • B. 40
    • C. Error
    • D. No Output
    • Discuss
    • 7. What is the output of the program
      #include<stdio.h>
      int main()
      {
          extern int fun(float);
          int a;
          a = fun(3.14);
          printf("%d\n", a);
          return 0;
      }
      int fun(int aa)
      {
      	return (int)++aa;
      }
      

    • Options
    • A. 3
    • B. 3.14
    • C. 0 
    • D. 4
    • E. Compile Error
    • Discuss
    • 8. In the following program how long will the for loop get executed?
      #include<stdio.h>
      int main()
      {
          int i=5;
          for(;scanf("%s", &i); printf("%d\n", i));
          return 0;
      }
      

    • Options
    • A. The for loop would not get executed at all
    • B. The for loop would get executed only once
    • C. The for loop would get executed 5 times
    • D. The for loop would get executed infinite times
    • Discuss
    • 9. What is the output of the program
      #include<stdio.h>
      int main()
      {
          int a[5] = {2, 3};
          printf("%d, %d, %d\n", a[2], a[3], a[4]);
          return 0;
      }
      

    • Options
    • A. Garbage Values
    • B. 2, 3, 3
    • C. 3, 2, 2
    • D. 0, 0, 0
    • Discuss
    • 10. What is the output of the program in Turbo C (in DOS 16-bit OS)?
      #include<stdio.h>
      int main()
      {
          char *s1;
          char far *s2;
          char huge *s3;
          printf("%d, %d, %d\n", sizeof(s1), sizeof(s2), sizeof(s3));
          return 0;
      }
      

    • Options
    • A. 2, 4, 6
    • B. 4, 4, 2
    • C. 2, 4, 4
    • D. 2, 2, 2
    • Discuss


    Comments

    There are no comments.

Enter a new Comment