如果在if后面还有语句,他们会在if结束后执行,无论条件如何.
如之前的找零程序
#include<stdio.h>
int main()
{
int price=0,amount=100;
printf("请输入金额");
scanf("%d",&price);
printf("请输入票面");
scanf("%d",&amount);
int change=amount-price;
if(change>=0)
{
printf("找您%d元",change);
}
printf("您的余额不足");
return 0;
}
无论条件满不满足他都会打印最后一句话.
如果我们想要在if条件不满足再做另外一个什么什么,就是需要一个否则的机制,也就是需要else.
改进如下
#include<stdio.h>
int main()
{
int price=0,amount=100;
printf("请输入金额");
scanf("%d",&price);
printf("请输入票面");
scanf("%d",&amount);
int change=amount-price;
if(change>=0)
{
printf("找您%d元",change);}
else{
printf("您的余额不足");
}
return 0;
}
这样我们就可以再余额足够的时候计算并打印结果,余额不足时打印另外一个结果.
练习:比较两数大小
#include<stdio.h>
int main()
{
int a,b;
int max=0;
printf("请输入两个整数");
scanf("%d%d",&a,&b);
if(a!=b){
if(a>b)
max=a;
else max=b;
printf("两数中较大的数为%d",max);
}
else printf("两数相等");
}
还有两段代码的对比,明显右边看起来要"聪明"一点.但想让更多人读懂的话,就应该选择左边的.