黑马程序员技术交流社区
标题:
今天老师讲了从最后一个else向上找if 现在不是很清楚啊,求大神详细说说
[打印本页]
作者:
37°天黑
时间:
2015-4-11 21:35
标题:
今天老师讲了从最后一个else向上找if 现在不是很清楚啊,求大神详细说说
#include <stdio.h>
int main()
{
int a, b= 250, c;
if ((c=b)<0) a=4;//c=250
else if (b=0) a=5;
else a=6;//a=6
printf(”\t%d\t%d\n”,a,c);
if (c=(b==0))
a=5;
printf(”\t%d\t%d\n”,a,c);
if (a=c=b) a=4;
printf(”\t%d\t%d\n”,a,c);//a=0,c=0
}
复制代码
作者:
wslinke
时间:
2015-4-11 22:59
#include <stdio.h>
int main()
{
int a, b= 250, c;
if ((c=b)<0) a=4; //先将b的值赋给c,c=250,再判断c是否小于0,c这时等于250,判断不成立跳到else中,a=4这行就被跳过了;
else if (b=0) a=5; //将b的值赋为0,此时判断条件为b,即0,为假,跳过a=5
else a=6;//以上条件均不成立,到这里 a=6
printf(”\t%d\t%d\n”,a,c);// 此时a=6,b=0,c=250
if (c=(b==0)) // 由于b==0,所以将真,即1赋给c,条件为1,成立,执行a=5;
a=5;
printf(”\t%d\t%d\n”,a,c); //a=5,b=0,c=1
if (a=c=b) a=4; // 先执行c=b,c为0,再执行a=c,a为0,在判断a的值,为0,即条件为假,跳过a=4;
printf(”\t%d\t%d\n”,a,c);//a=0,b=0,c=0
}
作者:
37°天黑
时间:
2015-4-12 22:36
wslinke 发表于 2015-4-11 22:59
#include
int main()
{
谢谢大神指点!
作者:
261406938
时间:
2015-4-12 22:48
大神解释真详细:victory:
作者:
举举手
时间:
2015-4-12 22:55
这种其实挺简单的也就是从最后一个else找上个括号对应的括号 最好能用TAB键把代码分开
作者:
shane_west
时间:
2015-4-12 23:05
什么叫 else向上找if ????
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2