#define MAX(x,y) (x) > (y) ? (x) : (y)
main()
{
int i = 10, j = 5, k = 0;
k = MAX(i++, ++j);
printf("%d %d %d", i,j,k);
}

what will the values of i , j and k?
}

Answers were Sorted based on User's Feedback



#define MAX(x,y) (x) > (y) ? (x) : (y) main() { int i = 10, j = 5, k = 0; k = MAX(i++, ++..

Answer / guest

12 6 11

Is This Answer Correct ?    70 Yes 32 No

#define MAX(x,y) (x) > (y) ? (x) : (y) main() { int i = 10, j = 5, k = 0; k = MAX(i++, ++..

Answer / vidyullatha

In Linux:
O/P: 12 6 11

Explanation:
when k = MAX(i++,++j) is called the macro is replaced and
evaluated as, (i++) > (++j) i.e 11 > 6. As the result of
the statement is true, it executes the statement ? (X) i.e
(i++) on total the statement looks like this
(i++) > (++j) ? (i++)
i.e 11 > 6 ? (i++)
i.e k = i++;
Here as i is post increment first value of i is assigned to
k and then it is incremented.
Hence k = 11.
as i is incremented twice it value is 12
and j is incremented once hence 6
So final O/P is 12 6 11.

Hope this helps.

Is This Answer Correct ?    35 Yes 2 No

#define MAX(x,y) (x) > (y) ? (x) : (y) main() { int i = 10, j = 5, k = 0; k = MAX(i++, ++..

Answer / sumi

11 , 6, 10

Is This Answer Correct ?    54 Yes 32 No

#define MAX(x,y) (x) > (y) ? (x) : (y) main() { int i = 10, j = 5, k = 0; k = MAX(i++, ++..

Answer / sshireesha

12 6 11

Is This Answer Correct ?    30 Yes 9 No

#define MAX(x,y) (x) > (y) ? (x) : (y) main() { int i = 10, j = 5, k = 0; k = MAX(i++, ++..

Answer / vignesh1988i

i=12
j=6
k=11

Is This Answer Correct ?    22 Yes 5 No

#define MAX(x,y) (x) > (y) ? (x) : (y) main() { int i = 10, j = 5, k = 0; k = MAX(i++, ++..

Answer / vignesh1988i

i=12
j=6
k=11

Is This Answer Correct ?    20 Yes 10 No

#define MAX(x,y) (x) > (y) ? (x) : (y) main() { int i = 10, j = 5, k = 0; k = MAX(i++, ++..

Answer / amit kumar ram

i=11, j=6 , k=10.

bcoz i=10 and j=6 pass to function
then check and give k=x which is k=10
then increament i by 1 i.e i=11.

Is This Answer Correct ?    20 Yes 12 No

#define MAX(x,y) (x) > (y) ? (x) : (y) main() { int i = 10, j = 5, k = 0; k = MAX(i++, ++..

Answer / mukul

ans : 11 6 0

Is This Answer Correct ?    3 Yes 2 No

#define MAX(x,y) (x) > (y) ? (x) : (y) main() { int i = 10, j = 5, k = 0; k = MAX(i++, ++..

Answer / amitesh

i=11 j=6 k=10

Is This Answer Correct ?    9 Yes 9 No

#define MAX(x,y) (x) > (y) ? (x) : (y) main() { int i = 10, j = 5, k = 0; k = MAX(i++, ++..

Answer / pawan

10 5 0

Is This Answer Correct ?    0 Yes 0 No

Post New Answer

More C Interview Questions

What is the difference between struct and union in C?

1 Answers  


program to find a smallest number in an array

15 Answers   Microsoft, Sony,


write a program to compare 2 numbers without using logical operators?

5 Answers   IBM,


Explain the binary height balanced tree?

0 Answers  


What are the types of macro formats?

0 Answers  






What is #define?

0 Answers  


Explain what are the different data types in c?

0 Answers  


Tell about strtok & strstr functions

2 Answers   HCL, iFlex, Motorola,


how to get the starting address of file stored in harddisk through 'C'program.

2 Answers   Siemens,


What is structure pointer in c?

0 Answers  


write a program to print %d ?

12 Answers  


what is the difference between these initializations? Char a[]=”string”; Char *p=”literal”; Does *p++ increment p, or what it points to?

4 Answers  


Categories