#include int main(void) { int i=1,j=-1; if((printf(\"%d\",i))<(printf(\"%d\",j))) printf(\"%d\",i); else printf(\"%d\",j);
printf returns the number of characters (not just digits) written.
So printf("%d",-1) will return 2 not 1
printf("%d",-1)
2
1
Similarly printf("%d",1) will return 1
printf("%d",1)
Making the condition in the if true.
if