概述
1 相同点:while()与if()都是判断某一条件是否成立,成立的话进入代码块;
2 区别:while()是一个循环,直到条件不满足,才退出while代码块的范围;
if()只执行一次,成立进入,运行完后直接执行if之后的代码,不会再进入if代码的范围;
3 例子:今年是2019年,KiKi想知道1~2019中有多少个包含数字9的数。包含数字的数是指有某一位是“9”的数,例如“2019”、“199”等。
3.1 if()的错误使用:
#include<stdio.h>
int main()
{
int i,j,num=0,x;
for(i=1;i<=2019;i++)
{
j=i;
if(j!=0)
{
x=j%10;
j/=10;
if(x==9)
{
num++;
break;
}}
}
printf("%d",num);
return 0;
}
3.1.1结果:当使用if时,没有输出。
3.1.2 分析:这是因为加入901含有9,901!=0;则x=1,j=90;此时没有判断到9的位置,本应继续循环回去继续除,但是因为if没有循环的功能,就直接退出判断,转为下一个数902,因此不能得到正确结果。
3.2 正确的代码:
#include<stdio.h>
int main()
{
int i,j,num=0,x;
for(i=1;i<=2019;i++)
{
j=i;
while(j)
{
x=j%10;
j/=10;
if(x==9)
{
num++;
break;
}}
}
printf("%d",num);
return 0;
}
3.2.1 能正确输出求和结果。while会一直将一个数的所有位都遍历一遍,,查找是否含有9;若中间某一位出现9,则break提前退出while,不再遍历所有位。
总结:当需要条件判断时,要判断是否需要循环判断,若不需要,则用if,否则用while。
最后
以上就是迷路帆布鞋为你收集整理的while与if的区别的全部内容,希望文章能够帮你解决while与if的区别所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复