I tried with this macro:
#define min(x,y) x<y? x:y
It's supposed to return the minimum and it does. The only problem is when trying to use the result of that macro in an operation, it doesn't work.
Example
x=min(3,4);
Here x will naturally have 3 as a value, but when trying this:
x= 23 + min(3,4);
the result will still always be 3 (the result of the macro), no matter what number I add to it (23 was arbitrary in there). May I know why this happens?