Home » C Programming » Functions

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; }

Correct Answer: 12, 12

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".


← Previous Question Next Question→

More Questions from Functions

Discussion & Comments

No comments yet. Be the first to comment!
Join Discussion