中易网

C语言 if嵌套

答案:3  悬赏:10  
解决时间 2021-03-12 00:03
例5.3 有一函数
-1 (x<0)
y= 0 (x=0)
1 (x>0)
编一程序,输入一个x值,输出y值。
大括号没出来~ 应该看得懂吧?
main( )
{ int x,y;
scanf(“%d”,&x);
y= -1;
if(x!=0)
{ if(x>0) y=1;}
else y=0;
printf(“x=%d,y=%d\n”,x,y);
}
主要是
scanf(“%d”,&x);
y= -1;
这是怎么一回事?~
输入x就出y? 还是我看程序的顺序哟问题?
最佳答案
看注释,不懂可追问
void main( )
{
int x,y;
scanf("%d",&x);
y= -1; //先给y赋值-1
if(x!=0) //如果x大于0或者小于0就执行下面的
{
if(x>0) //x大于0,y就赋值1,否则什么也不操作,也就是x小于0的时候y不变还是-1
y=1;
}
else //x为0的时候y也为0
y=0;
printf("x=%d,y=%d\n",x,y);
}
全部回答
y=-1只是赋值,又没有输出, y的值只有三种情况 我们将y的初始值设为其中的一种情况 然后进行判断其他两种情况是否成立,如果有成立的,就修改y的值, 如果另外两种情况都不成立,那说明我们设置为初始值情况是成立的,那就直接输出y的值就可以了。
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成对。然后自己加大括号对好格式,用手写在纸上画明了一点。希望能帮到你!
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
谁知道这是什么植物啊?长大后旁边会像仙人掌
造冰需要加化学品吗
怎么给鱼儿送氧气?
陈三更老鸭坊桓台店地址在哪,我要去那里办事
21克老人手机,质量怎么样?用过的请回答!
五邑碧桂园凤凰酒店地址在什么地方,想过去办
十字绣裱起来保存多久
东风日产漳州聚力店怎么去啊,有知道地址的么
拉肚子能吃白鸽炖花旗参吗
为什么我在千牛已经处理退款了,怎么淘宝小二
澳门币对人民币汇率价格会涨吗
鸿运家具地址在什么地方,想过去办事
阴阳师里的台词究竟怎么说
春联的由来50字
七匹狼(豪情)
推荐资讯
你好,你二建继续教育的书是从哪买的呀,谢谢
笔记本接上外接显示器怎么感觉有点卡
福彩七乐彩中奖号码必须顺序和开奖的一样吗?
比尔.盖次是什么人
方圆聚超市这个地址在什么地方,我要处理点事
涟水宾馆桑拿部的评价
想搞建筑设计,大学应报哪个专业?
什么方法能提高自己的情操
也知道skullcandy在音质上和同价位的老铁,森
烟台百怡堂诊所我想知道这个在什么地方
新一代显卡啥时候上市啊,现在有消息吗
亿辉大药店NO.5在什么地方啊,我要过去处理事
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?