Home / C Programming / Functions :: Discussion

Discussion :: Functions

  1. What will be the output of the program?

    #include 
     
     int addmult(int ii, int jj) 
      {  
          int kk, ll;    
          kk = ii + jj;   
          ll = ii * jj;     
          return (kk, ll);
      }
      
     int main() 
     {     
         int i=3, j=4, k, l;   
         k = addmult(i, j);    
         l = addmult(i, j);     
         printf("%d, %d\n", k, l);    
         return 0;
     }

     

  2. A.

    12, 12

    B.

    7, 7

    C.

    7, 12

    D.

    12, 7

    View Answer

    Workspace

    Answer : Option A

    Explanation :

    Step 1: int i=3, j=4, k, l; The variables i, j, k, l are declared as an integer type and variable i, j are initialized to 3, 4 respectively.

    The function addmult(i, j); accept 2 integer parameters.

    Step 2: k = addmult(i, j); becomes k = addmult(3, 4)

    In the function addmult(). The variable kk, ll are declared as an integer type int kk, ll;

    kk = ii + jj; becomes kk = 3 + 4 Now the kk value is '7'.

    ll = ii * jj; becomes ll = 3 * 4 Now the ll value is '12'.

    return (kk, ll); It returns the value of variable ll only.

    The value 12 is stored in variable 'k'.

    Step 3: l = addmult(i, j); becomes l = addmult(3, 4)

    kk = ii + jj; becomes kk = 3 + 4 Now the kk value is '7'.

    ll = ii * jj; becomes ll = 3 * 4 Now the ll value is '12'.

    return (kk, ll); It returns the value of variable ll only.

    The value 12 is stored in variable 'l'.

    Step 4: printf("%d, %d\n", k, l); It prints the value of k and l

    Hence the output is "12, 12".


Be The First To Comment