为何结果为2,
来源:百度知道 编辑:UC知道 时间:2024/06/15 16:53:41
#include <stdio.h>
main()
{int x=2,y=-1,z=2;
if(x<y)
if(y<0)z=0;
else z+=1;
printf("%d\n",z);}
main()
{int x=2,y=-1,z=2;
if(x<y)
if(y<0)z=0;
else z+=1;
printf("%d\n",z);}
因为IF语句是一个判断语句,(int x=2,y=-1,z=2) 在X<Y中X为2不小于Y的-1 所以直接跳过下面的语句,直接运行printf("%d\n",z)语句,打印Z. Z=2 所以结果也就是2
#include <stdio.h>
main()
{int x=2,y=-1,z=2;
if(x<y)
{
if(y<0)z=0;
else z+=1;
}
printf("%d\n",z);}
这是系统的理解。这也就是强调加{}的原因
程序可以这样看
#include <stdio.h>
main()
{int x=2,y=-1,z=2;
if(x<y)
{
if(y<0)z=0;
else z+=1;//if....else.....是一个语句,不能拆开看,else不能独立使用。
}
printf("%d\n",z);}
if(x<y)
{
if(y<0)
z=0;
}
else z+=1;
这样写就是三了
记住,如果没有大括号,else是跟着离他最近的IF语句。
那个else是跟第二个if成套的,实际上这个程序也可以这样写:
#include <stdio.h>
main()
{int x=2,y=-1,z=2;
if(x<y)
{
if(y<0)z=0;
else z+=1;
}
printf("%d\n",z