I'm looking your expertise to help me understand why the output is not as expected.
Code:#include <stdio.h> #define SQUARE(x) (x)*(x) int main() { printf("%d ", SQUARE(4)); // 16 int x = 3; // x = 3 printf("%d ", SQUARE(++x)); // Expecting 16 but getting 25 return 0; }
Why program give value 25 instead of 16