int m,x=3,y=4,z=5;
if(x>y) m=x;
if(y<z) m=y;
else m=z;
printf("%d",m);
第一个if和第二个if是并列的
如果想要第一个为假,下一个不执行,可以这样
int m,x=3,y=4,z=5;
if(x>y)
{
m=x;
if(y<z) m=y;
else m=z;
}
printf("%d",m);
将下面的包裹起来
第一个if和第二个if是同等级的,第一个if不管真假,第二个If都要执行的,执行第二个if后结果为 m=y=4
如果有点点帮助,希望点一下下采纳
在第二个if前面加个else啊
int m,x=3,y=4,z=5;
if(x>y) m=x;
else if(y<z) m=y;
else m=z;
printf("%d",m);
你这是三个数中找最小的值吗? 你的第一个if跟第二个if没有关系。
int m,x=3,y=4,z=1;
if(x>y)
if(y>z)
m = z;
else
m = y;
else if(x > z)
m = z;
else
m = x;
printf("min=%d\n",m);