#include <stdio.h> int main() { int score = 7200; if(score>=10000)//表达式1 { printf("%s\n",钻石玩家"); }//执行代码块1 if(score>=5000)//表达式2 { printf("%s\n",白金玩家"); }//执行代码块2 else if(score>=1000) //表达式m {

来源:4-3 分支结构之多重if-else语句

2017傻傻的爱

2016-02-03 21:32

#include <stdio.h>

int main() 

{

    int score = 7200;

    if(score>=10000)//表达式1

    {

        printf("%s\n",钻石玩家");

    }//执行代码块1

    if(score>=5000)//表达式2

    {

        printf("%s\n",白金玩家");    

    }//执行代码块2

    else if(score>=1000) //表达式m

    {

        printf("%s\n",青铜玩家");     

    }//执行代码块m

    else

    {

        printf("%s\n"普通玩家");    

    }//执行代码块n

    return 0;

}//表达式m 能说成是 表达式3吗? if(score>=5000)表达式2有什么意义? else if错的话就执行else  不就是相互错位吗?如果表达式1不对直接执行表达式2如果表达式2不对直接表达式3(m)如果表达式3(m)不对直接执行代码块n 是这样吗?执行过程图不就是这含义吗?


写回答 关注

2回答

  • Luck0123
    2016-02-03 22:22:47
    已采纳
    1. 表达式2前为else if否则的话如果score=110000输出的是 钻石玩家白金玩家

    2. 改为printf("..玩家")

    3. if...else if...else表示如果if条件成立则执行代码块1,否则不执行代码块1继续向下读,如果else if条件成立则执行代码块2,不成立则不执行2继续向下读..如果到最后所有else if条件均不成立,则执行else后的代码块n


    2017傻傻...

    否则不执行代码块1继续向下读 是这个吗?if(score>=5000)//表达式2 如果else if条件成立则执行代码块2 是这个吗? else if(score>=1000) //表达式m 则执行else后的代码块n 是这个吗?printf("%s\n"普通玩家"); 如果else后的代码块n 也不成立怎么办?

    2016-02-03 22:37:48

    共 1 条回复 >

  • Luck0123
    2016-02-03 22:44:16

    是的 就是继续读判别条件

    else后的代码块n是让你执行的不需要判别条件而且也没有条件啊 就是说如果以上条件都不成立则一定执行代码块n

    共 2 条回复 >

C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926210 学习 · 20797 问题

查看课程

相似问题