title: Ternary Operators and Macros #define
body: <p>I am confused on the ternary operator outputs if it is used in a macro. Why is the output 3 and 0?</p>
  
  <pre><code>#define test(x,y)(! y ? 0 : x/y)
  
  int main(void){
  printf("%d",test(2+2,2));
  printf("%d",test(4,-1-1));
  return(0);
  }
  </code></pre>