#include<stdio.h>
int main(void)
{
int i=1,j=-1;
if((printf("%d",i))<(printf("%d",j)))
printf("%d",i);
else
printf("%d",j);
return 0;
}
Поскольку printf()
возвращает количество успешно напечатанных символов, условие будет if(1<1)
, что ложно, но если часть выполнена и вывод 1 -1 1
.Почему это происходит?