logo

CuriousTab

CuriousTab

Discussion


Home C Programming C Preprocessor See What Others Are Saying!
  • Question
  • Will the following program print the message infinite number of times?
    #include<stdio.h>
    #define INFINITELOOP while(1)
    
    int main()
    {
        INFINITELOOP
        printf("CuriousTab");
        return 0;
    }
    


  • Options
  • A. Yes
  • B. No

  • Correct Answer
  • Yes 

    Explanation
    Yes, the program prints "CuriousTab" and runs infinitely.

    The macro INFINITELOOP while(1) replaces the text 'INFINITELOOP' by 'while(1)'

    In the main function, while(1) satisfies the while condition and it prints "CuriousTab". Then it comes to while(1) and the loop runs infinitely.


    More questions

    • 1. Bitwise & can be used to check if a bit in number is set or not.

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

    • Options
    • A. Yes
    • B. No
    • Discuss
    • 3. What will be the output of the program?
      #include<stdio.h>
      #include<stdlib.h>
      
      int main()
      {
          union test
          {
              int i;
              float f;
              char c;
          };
          union test *t;
          t = (union test *)malloc(sizeof(union test));
          t->f = 10.10f;
          printf("%f", t->f);
          return 0;
      }
      

    • Options
    • A. 10
    • B. Garbage value
    • C. 10.100000
    • D. Error
    • Discuss
    • 4. 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
    • 5. Functions cannot return a floating point number

    • Options
    • A. Yes
    • B. No
    • Discuss
    • 6. 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
    • 7. 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
    • 8. 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
    • 9. 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
    • 10. 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


    Comments

    There are no comments.

Enter a new Comment