logo

CuriousTab

CuriousTab

Discussion


Home C Programming C Preprocessor See What Others Are Saying!
  • Question
  • What will be the output of the program?
    #include<stdio.h>
    #define SQR(x)(x*x)
    
    int main()
    {
        int a, b=3;
        a = SQR(b+2);
        printf("%d\n", a);
        return 0;
    }
    


  • Options
  • A. 25
  • B. 11
  • C. Error
  • D. Garbage value

  • Correct Answer
  • 11 

    Explanation
    The macro function SQR(x)(x*x) calculate the square of the given number 'x'. (Eg: 102)

    Step 1: int a, b=3; Here the variable a, b are declared as an integer type and the variable b is initialized to 3.

    Step 2: a = SQR(b+2); becomes,

    => a = b+2 * b+2; Here SQR(x) is replaced by macro to x*x .

    => a = 3+2 * 3+2;

    => a = 3 + 6 + 2;

    => a = 11;

    Step 3: printf("%d\n", a); It prints the value of variable 'a'.

    Hence the output of the program is 11


    More questions

    • 1. What do the following declaration signify?
      int (*pf)();

    • Options
    • A. pf is a pointer to function.
    • B. pf is a function pointer.
    • C. pf is a pointer to a function which return int
    • D. pf is a function of pointer variable.
    • Discuss
    • 2. What will be the output of the program?
      #include<stdio.h>
      
      int main()
      {
          char str[] = "peace";
          char *s = str;
          printf("%s\n", s++ +3);
          return 0;
      }
      

    • Options
    • A. peace
    • B. eace
    • C. ace
    • D. ce
    • Discuss
    • 3. What will be the output of the program?
      #include<stdio.h>
      int main()
      {
          int x=12, y=7, z;
          z = x!=4 || y == 2;
          printf("z=%d\n", z);
          return 0;
      }
      

    • Options
    • A. z=0
    • B. z=1
    • C. z=4
    • D. z=2
    • Discuss
    • 4. What will be the output of the program?
      #include<stdio.h>
      void fun(int);
      typedef int (*pf) (int, int);
      int proc(pf, int, int);
      
      int main()
      {
          int a=3;
          fun(a);
          return 0;
      }
      void fun(int n)
      {
          if(n > 0)
          {
              fun(--n);
              printf("%d,", n);
              fun(--n);
          }
      }
      

    • Options
    • A. 0, 2, 1, 0,
    • B. 1, 1, 2, 0,
    • C. 0, 1, 0, 2,
    • D. 0, 1, 2, 0,
    • Discuss
    • 5. What will be the output of the program?
      #include<stdio.h>
      int sumdig(int);
      int main()
      {
          int a, b;
          a = sumdig(123);
          b = sumdig(123);
          printf("%d, %d\n", a, b);
          return 0;
      }
      int sumdig(int n)
      {
          int s, d;
          if(n!=0)
          {
              d = n%10;
              n = n/10;
              s = d+sumdig(n);
          }
          else
              return 0;
          return s;
      }
      

    • Options
    • A. 4, 4
    • B. 3, 3
    • C. 6, 6
    • D. 12, 12
    • Discuss
    • 6. Can you use the fprintf() to display the output on the screen?

    • Options
    • A. Yes
    • B. No
    • Discuss
    • 7. What do the following declaration signify?
      char *arr[10];

    • Options
    • A. arr is a array of 10 character pointers.
    • B. arr is a array of function pointer.
    • C. arr is a array of characters.
    • D. arr is a pointer to array of characters.
    • Discuss
    • 8. The macro va_arg is used to extract an argument from the fixed micro argument list and advance the pointer to the next argument.

    • Options
    • A. Yes
    • B. No
    • Discuss
    • 9. What will be the output of the program?
      #include<stdio.h>
      #define JOIN(s1, s2) printf("%s=%s %s=%s \n", #s1, s1, #s2, s2);
      int main()
      {
          char *str1="India";
          char *str2="CURIOUSTAB";
          JOIN(str1, str2);
          return 0;
      }
      

    • Options
    • A. str1=CuriousTab str2=CURIOUSTAB
    • B. str1=India str2=CURIOUSTAB
    • C. str1=India str2=CuriousTab
    • D. Error: in macro substitution
    • Discuss
    • 10. What will be the output of the program?
      #include<stdio.h>
      int main()
      {
          int i=3;
          i = i++;
          printf("%d\n", i);
          return 0;
      }
      

    • Options
    • A. 3
    • B. 4
    • C. 5
    • D. 6
    • Discuss


    Comments

    There are no comments.

Enter a new Comment