В первоначальном варианте ни на что не влияет if:
#include
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
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;
}
Такой же вывод.