我是靠谱客的博主 迷路帆布鞋,最近开发中收集的这篇文章主要介绍while与if的区别,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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的区别所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(46)

评论列表共有 0 条评论

立即
投稿
返回
顶部