Я запутался в выходных данных троичного оператора, если он используется в макросе. Почему вывод 3 и 0?
#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); }