C语言 if嵌套if

#include<stdio.h>
void mian()
{
int a,t;
printf("请输入a的值");
scanf("%d",&a);
if(a<10)
{
if(a>1)
t=1;
}
else t=2;
}
当a=0时结果是什么?
#include<stdio.h>
void mian()
{
int a,t;
printf("请输入a的值");
scanf("%d",&a);
if(a<10)
if(a>1)
t=1;
else t=2;
}
当a等于100时结果是什么?

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成对。然后自己加大括号对好格式,用手写在纸上画明了一点。希望能帮到你!

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-07-11
把大括号加上就明了了
#include<stdio.h>
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
}
}
下面自己学着加一下括号本回答被网友采纳
第2个回答  2012-07-11
t=2
t=未初始化
第3个回答  2012-07-11
t=2
没结果
第4个回答  2012-07-11
我擦,这种问题有什么好问的,自己运行一下不就知道了,再说你啥都不返回,你想问什么结果

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网