以两段代码作为说明:要求实现的结果是:把a,b,c三个数按照从小到大的顺序排列
#include
void main()
{
int a,b,c,d;
printf("please input three different dates: \n");
scanf("%d%d%d",&a,&b,&c);
if(a>b)
{d=a;
a=b;
b=d;}
{d=a;
a=c;
c=d;}
{d=b;
b=c;
c=d;}
printf("from small to big:%d,%d,%d \n",a,b,c);
}
执行的意思是 :a和b比较,如果a>b,则a和b的值互换;
if(a>b)
{d=a;
a=b;
b=d;}
{d=a;
a=c;
c=d;}
{d=b;
b=c;
c=d;}
最后摘录一段网友针对这个问题的形象解答,帮助理解:
if/else if语句是一对判断组合;多个顺序if是平行的运行判断的。
举例说明:
if(我有钱)
{
我就去炒股;
}
else if(我有时间)
{
我就去旅游;
}
上面的语句意思如下:如果我有钱(if判断成立),则我只能去炒股,即使我有时间又有金钱也不能去旅游;而如果我没有钱(if判断不成立),则要看我是否有时间,有时间就去旅游(没钱去旅游就苦了)。
if(我有金钱)
{
我就去炒股;
}
if{我有时间)
{
我就去上网;
}
if(我有时间和金钱)
{
我就去旅游;
}
这样的判断意思是说:如果我有钱(第一个if成立),我可以炒股,如果我没有钱但有时间(第二个if成立),我可以上网(办公室的免费网络);而如果我有了钱又有时间(第三个if成立),我就可以去旅游了(好爽啊!)