#define MAX(A, B) ((A) > (B)) ? (A) : (B)
ymax = 4;
s = 4;
x = 0;
do
{
y = s - x;
printf("%d, %d\n", x, y);
x++;
}
while (y != MAX(s - ymax, 0));
Почему при s = 4 оно выходит после первой итерации? Должно же стать y = 4, 3, 2, 1, 0; а оно выходит после y=4. последнее условие получается так: while (y != MAX(0, 0)) -> while (y != 0), а при y = 4 выкидывает за пределы while.
Кто подскажет почему так?