C++程序编译,用switch语句,不要if语句

C++程序编译,用switch语句,不要if语句,第1张

#include<stdio.h>

void main()

{

    int x,state

    double y

    printf("请输入一个整数x:")

    scanf("%d",&x)

    if(x>=0)

        state = 1

    else

        state = 2

    switch(state)

    {

    case 1:

        {

            y = x+3

            break

        }

    case 2:

        {

            y = (double)x/2

            break

        }

    }

    printf("y=%.6lf\n",y)

}

if(year <2015 &&year >2015){

改成:

if(year <2015 || year >2015){

if(year != 2015 ){

后面的else中 year==2015都是多余的,可以删除掉

逻辑有点不清。不过不能去掉else if的,看执行顺序就知道了。

当满足if (c==' '|| c=='\n'||c=='\t')条件的时候,程序就会跳过else if,执行++nw而当不满足if (c==' '|| c=='\n'||c=='\t')的时候,程序会继续试探是否满足else if(state==OUT)条件,如果满足则执行state=IN如果不满足,则继续向下执行++nw

如果你把else if去掉了,由于state=OUT此处有个分号,意味着“选择结构”至此结束。不论是否满足if的条件,程序都会执行state=IN因为state=IN并不包含在选择结构if中。

所以不能去掉else if。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12089660.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存