logo

CuriousTab

CuriousTab

Discussion


Home C Programming C Preprocessor See What Others Are Saying!
  • Question
  • Will it result in to an error if a header file is included twice?


  • Options
  • A. Yes
  • B. No
  • C. It is compiler dependent.

  • Correct Answer
  • It is compiler dependent. 

    Explanation
    Unless the header file has taken care to ensure that if already included it doesn't get included again.

    Turbo C, GCC compilers would take care of these problems, generate no error.

  • More questions

    • 1. What will be the output of the program?
      #include<stdio.h>
      int main()
      {
          int x=4, y, z;
          y = --x;
          z = x--;
          printf("%d, %d, %d\n", x, y, z);
          return 0;
      }
      

    • Options
    • A. 4, 3, 3
    • B. 4, 3, 2
    • C. 3, 3, 2
    • D. 2, 3, 3
    • Discuss
    • 2. Functions cannot return a floating point number

    • Options
    • A. Yes
    • B. No
    • Discuss
    • 3. What will be the output of the program?
      #include<stdio.h>
      int main()
      {
          int a=100, b=200, c;
          c = (a == 100 || b > 200);
          printf("c=%d\n", c);
          return 0;
      }
      

    • Options
    • A. c=100
    • B. c=200
    • C. c=1
    • D. c=300
    • Discuss
    • 4. What will be the output of the program?
      #include<stdio.h>
      int main()
      {
          int x=55;
          printf("%d, %d, %d\n", x<=55, x=40, x>=10);
          return 0;
      }
      

    • Options
    • A. 1, 40, 1
    • B. 1, 55, 1
    • C. 1, 55, 0
    • D. 1, 1, 1
    • Discuss
    • 5. What will be the output of the program?
      #include<stdio.h>
      
      int main()
      {
          void fun(char*);
          char a[100];
          a[0] = 'A'; a[1] = 'B';
          a[2] = 'C'; a[3] = 'D';
          fun(&a[0]);
          return 0;
      }
      void fun(char *a)
      {
          a++;
          printf("%c", *a);
          a++;
          printf("%c", *a);
      }
      

    • Options
    • A. AB
    • B. BC
    • C. CD
    • D. No output
    • Discuss
    • 6. Which of the following statements correct about k used in the below statement?
      char ****k;

    • Options
    • A. k is a pointer to a pointer to a pointer to a char
    • B. k is a pointer to a pointer to a pointer to a pointer to a char
    • C. k is a pointer to a char pointer
    • D. k is a pointer to a pointer to a char
    • Discuss
    • 7. What will be the output of the program?
      #include<stdio.h>
      
      void fun(void *p);
      int i;
      
      int main()
      {
          void *vptr;
          vptr = &i;
          fun(vptr);
          return 0;
      }
      void fun(void *p)
      {
          int **q;
          q = (int**)&p;
          printf("%d\n", **q);
      }
      

    • Options
    • A. Error: cannot convert from void** to int**
    • B. Garbage value
    • C. 0
    • D. No output
    • Discuss
    • 8. What will be the output of the program?
      #include<stdio.h>
      #include<string.h>
      
      int main()
      {
          static char s[] = "Hello!";
          printf("%d\n", *(s+strlen(s)));
          return 0;
      }
      

    • Options
    • A. 8
    • B. 0
    • C. 16
    • D. Error
    • Discuss
    • 9. What will be the output of the program?
      #include<stdio.h>
      
      int main()
      {
          int i=4, j=8;
          printf("%d, %d, %d\n", i|j&j|i, i|j&&j|i, i^j);
          return 0;
      }
      

    • Options
    • A. 4, 8, 0
    • B. 1, 2, 1
    • C. 12, 1, 12
    • D. 0, 0, 0
    • Discuss
    • 10. What will you do to treat the constant 3.14 as a float?

    • Options
    • A. use float(3.14f)
    • B. use 3.14f
    • C. use f(3.14)
    • D. use (f)(3.14)
    • Discuss


    Comments

    There are no comments.

Enter a new Comment