В первоначальном варианте ни на что не влияет if: #include <stdio.h> int main() { int x, y=2, z=1; if (z=(y==0)) x=5; x=3; printf("x=%d z=%d",x,z); return 0; } Результат: x=3 z=0 Впрочем, если подогнать: #include <stdio.h> int main() { int x, y=2, z=1; if (z=(y==0)){ x=5; } else { x=3; } printf("x=%d z=%d",x,z); return 0; } Такой же вывод.
#include <stdio.h>
int main()
{ int x, y=2, z=1;
if (z=(y==0))
x=5;
x=3;
printf("x=%d z=%d",x,z);
return 0;
}
Результат:
x=3 z=0
Впрочем, если подогнать:
#include <stdio.h>
int main()
{
int x, y=2, z=1;
if (z=(y==0)){
x=5;
}
else
{
x=3;
}
printf("x=%d z=%d",x,z);
return 0;
}
Такой же вывод.