logo

CuriousTab

CuriousTab

Discussion


Home C Programming Functions Comments

  • Question
  • What will be the output of the program?
    #include<stdio.h>
    void fun(int*, int*);
    int main()
    {
        int i=5, j=2;
        fun(&i, &j);
        printf("%d, %d", i, j);
        return 0;
    }
    void fun(int *i, int *j)
    {
        *i = *i**i;
        *j = *j**j;
    }
    


  • Options
  • A. 5, 2
  • B. 10, 4
  • C. 2, 5
  • D. 25, 4

  • Correct Answer
  • 25, 4 

    Explanation
    Step 1: int i=5, j=2; Here variable i and j are declared as an integer type and initialized to 5 and 2 respectively.

    Step 2: fun(&i, &j); Here the function fun() is called with two parameters &i and &j (The & denotes call by reference. So the address of the variable i and j are passed. )

    Step 3: void fun(int *i, int *j) This function is called by reference, so we have to use * before the parameters.

    Step 4: *i = *i**i; Here *i denotes the value of the variable i. We are multiplying 5*5 and storing the result 25 in same variable i.

    Step 5: *j = *j**j; Here *j denotes the value of the variable j. We are multiplying 2*2 and storing the result 4 in same variable j.

    Step 6: Then the function void fun(int *i, int *j) return back the control back to main() function.

    Step 7: printf("%d, %d", i, j); It prints the value of variable i and j.

    Hence the output is 25, 4.


    Functions problems


    Search Results


    • 1. What will be the output of the program in 16 bit platform (Turbo C under DOS)?
      #include<stdio.h>
      
      int main()
      {
          int fun();
          int i;
          i = fun();
          printf("%d\n", i);
          return 0;
      }
      int fun()
      {
          _AX = 1990;
      }
      

    • Options
    • A. Garbage value
    • B. 0 (Zero)
    • C. 1990
    • D. No output
    • Discuss
    • 2. What will be the output of the program?
      #include<stdio.h>
      int func1(int);
      
      int main()
      {
          int k=35;
          k = func1(k=func1(k=func1(k)));
          printf("k=%d\n", k);
          return 0;
      }
      int func1(int k)
      {
          k++;
          return k;
      }
      

    • Options
    • A. k=35
    • B. k=36
    • C. k=37
    • D. k=38
    • Discuss
    • 3. What will be the output of the program?
      #include<stdio.h>
      
      int fun(int i)
      {
          i++;
          return i;
      }
      
      int main()
      {
          int fun(int);
          int i=3;
          fun(i=fun(fun(i)));
          printf("%d\n", i);
          return 0;
      }
      

    • Options
    • A. 5
    • B. 4
    • C. Error
    • D. Garbage value
    • Discuss
    • 4. What will be the output of the program?
      #include<stdio.h>
      int fun(int(*)());
      
      int main()
      {
          fun(main);
          printf("Hi\n");
          return 0;
      }
      int fun(int (*p)())
      {
          printf("Hello ");
          return 0;
      }
      

    • Options
    • A. Infinite loop
    • B. Hi
    • C. Hello Hi
    • D. Error
    • Discuss
    • 5. What will be the output of the program?
      #include<stdio.h>
      
      int main()
      {
          int i=1;
          if(!i)
              printf("CuriousTab,");
          else
          {
              i=0;
              printf("C-Program");
              main();
          }
          return 0;
      }
      

    • Options
    • A. prints "CuriousTab, C-Program" infinitely
    • B. prints "C-Program" infinetly
    • C. prints "C-Program, CuriousTab" infinitely
    • D. Error: main() should not inside else statement
    • Discuss
    • 6. What will be the output of the program?
      #include<stdio.h>
      
      int main()
      {
          int fun(int);
          int i = fun(10);
          printf("%d\n", --i);
          return 0;
      }
      int fun(int i)
      {
         return (i++);
      }
      

    • Options
    • A. 9
    • B. 10
    • C. 11
    • D. 8
    • Discuss
    • 7. What will be the output of the program?
      #include<stdio.h>
      int reverse(int);
      
      int main()
      {
          int no=5;
          reverse(no);
          return 0;
      }
      int reverse(int no)
      {
          if(no == 0)
              return 0;
          else
              printf("%d,", no);
          reverse (no--);
      }
      

    • Options
    • A. Print 5, 4, 3, 2, 1
    • B. Print 1, 2, 3, 4, 5
    • C. Print 5, 4, 3, 2, 1, 0
    • D. Infinite loop
    • Discuss
    • 8. What will be the output of the program?
      #include<stdio.h>
      int fun(int);
      int main()
      {
          float k=3;
          fun(k=fun(fun(k)));
          printf("%f\n", k);
          return 0;
      }
      int fun(int i)
      {
          i++;
          return i;
      }
      

    • Options
    • A. 5.000000
    • B. 3.000000
    • C. Garbage value
    • D. 4.000000
    • Discuss
    • 9. 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
    • 10. 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


    Comments

    There are no comments.

Enter a new Comment