The following code fragment produces the correct result sometimes and sometimes does not. Explain what is happening and why. #include <stdio.h> #define max(a,b) ((a) > (b) ? (a): (b)) void main(void) { int i = 0; int j = 0; int a = 3; int b = 4; int c = 6; int d = 5; i = max(a,b); j = max(c,d); printf( The following code fragment produces the correct result sometimes and sometimes does not. Explain what is happening and why. #include <stdio.h> #define max(a,b) ((a) > (b) ? (a): (b)) void main(void) { int i = 0; int j = 0; int a = 3; int b = 4; int c = 6; int d = 5; i = max(a,b); j = max(c,d); printf(
Explanation / Answer
#include <stdio.h> #define max(a,b) ((a) > (b) ? (a): (b)) void main(void) { int i = 0; int j = 0; int a = 3; int b = 4; int c = 6; int d = 5; i = max(a,b); // i=4 j = max(c,d); // j=6 printf(