c语言if的嵌套

来源:百度知道 编辑:UC知道 时间:2024/06/10 23:37:44
#include"stdio.h"
main()
{ int x=4,y=5,z=2,max;
max=x;
if(z>y)
if(z>x)
max=z;
else
if(y>x)
max=y;
printf(" max=%d",max);
}
谁给我解释一下这个程序运行的顺序,详细点。
我的理解是if(z>y)作为整个程序运行的首要条件,当if(z>y)不成立时,整个程序不会执行任何有意义的动作。如果前面有更多个if,而其中一个不成立时,下面的程序还会运行吗?

(z>y)是下面判断语句执行的首要条件 。和printf(" max=%d",max);
并列

if(z>y)
{
if(z>x)
max=z;
else if(y>x)
max=y;
}

把x的值赋给max,默认x最大。如果z大于y,{ 如果z大于x,把z的值给max;否侧
{如果Y>X,把Y的值给max}}
//else和上面和它最近的IF是一组的,

给你画个后面的流程图吧,帮助你理解。