我是靠谱客的博主 迷路帆布鞋,这篇文章主要介绍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内容请搜索靠谱客的其他文章。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部