C语言day04-02Switch的注意点

Switch的注意点

#pragma mark switch的注意点
#pragma mark 概念
/**
 *  switch的注意点
 *
 */

#include <stdio.h>
#pragma mark 代码
int main()
{
    /*
    // 1. Switch的条件表达式注意点
    // switch的条件表达式 必须返回整数的表达式,也就是()中只能放整数
    //  或者写能够转化为整数的类型也可以,例如char,因为char类型可以转换int类型,所以char也是可以的
    switch ('A') {
        case 6:
            printf("6\n");
            break;
        case 8:
            printf("8\n");
            break;
        default:
            printf("other\n");
            break;
    }
    */
    
    /*
    // 2.case的取值
    // switch中,case后面只能 放返回值是整数的表达式 或者 整数,或者能够转换为 整数的类型
    // case的取值 不能重复
    // case后面不能放 变量,因为系统在编译的时候会对switch后面所有的case进行优化,会根据case后面的常量值,生成一张取值表
    int number = 8;
    switch (6) {
        case 3+3:
            printf("6\n");
            break;
        case 'A':
            printf("8\n");
            break;
        case number:
            printf("8\n");
            break;
            
        default:
            printf("other\n");
            break;
    }
     */
    
    // default 的位置问题
    // switch中的default可以随便放
    // 无论default写到什么地方,它都会最后执行(只要前面所有的case都不满足的情况下才会执行)
    // 只要某一个case满足,那么后面所有的case和default都会失效
    // 同理:只要default满足,那么所有的case都会失效
    switch (20) {
        default:
            printf("other\n");
//            break;
        case 6:
            printf("6\n");
            break;
        case 8:
            printf("8\n");
            break;

    }
    
    return 0;
}
    原文作者:liyuhong165
    原文地址: https://www.jianshu.com/p/3d37471e18e3
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞