#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
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 |
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 |
What is the difference between a string copy (strcpy) and a memory copy (memcpy)? When should each be used?
Can a function argument have default value?
m=++i&&++j(||)k++ printf("%d"i,j,k,m)
What does c in a circle mean?
What are the preprocessors?
Explain why can’t constant values be used to define an array’s initial size?
What is volatile in c language?
what is c language?
What functions are used in dynamic memory allocation in c?
Explain 'bus error'?
What is the function of this pointer?
0 Answers Agilent, ZS Associates,
write a c program to calculate sum of digits till it reduces to a single digit using recursion