C语言 if嵌套if

2024-10-27 19:03:35
推荐回答(5个)
回答(1):

printf("请输入a的值");

 scanf("%d",&a);

 if(a<10)//a=0的时候,明显符合a<10条件,但是不符合里面嵌套的a>1条件,不做任何操作。

 {

      if(a>1)  t=1;

 }

 else t=2;

 

 

 printf("请输入a的值");

 scanf("%d",&a);

 if(a<10)//a=100,第一步验证就不符合条件,又没有else语句对应,也是什么都不做

{

   if(a>1)     t=1;

   else t=2;

 

 

我还是加上第二题的实战图吧:

我初始化t为99999了,防止输出未初始化的变量。可以看到99999并没有改变。也就是说a=100的时候,没有影响到t。不要看死书了,按自己的逻辑理解吧。

总之看if 的嵌套,else总是与最近的if成对。然后自己加大括号对好格式,用手写在纸上画明了一点。希望能帮到你!

回答(2):

把大括号加上就明了了
#include
void mian()
{
int a,t;
printf("请输入a的值");
scanf("%d",&a);
if(a<10) // 0小于10
{
if(a>1)
{
t=1;
}
}
else
{
t=2; // 0时,t = 2
}
}
下面自己学着加一下括号

回答(3):

t=2
t=未初始化

回答(4):

t=2
没结果

回答(5):

我擦,这种问题有什么好问的,自己运行一下不就知道了,再说你啥都不返回,你想问什么结果