随笔 - 2146  文章 - 97 评论 - 11767 trackbacks - 253


1. 常规:
#include <stdio.h>

int main(void)
{
    int i;
    for (i = 0; i < 10; i++) {
        switch (i) {
            case 1:
                printf("%d\n", i);
                break;
            case 3:
                printf("%d\n", i);
                break;
            case 5:
                printf("%d\n", i);
                break;
        default:
            printf("*\n");;
        }
    }
    getchar();
    return 0;
}


2. 省略 default:
#include <stdio.h>

int main(void)
{
    int i;
    for (i = 0; i < 10; i++) {
        switch (i) {
            case 1:
                printf("%d\n", i);
                break;
            case 3:
                printf("%d\n", i);
                break;
            case 5:
                printf("%d\n", i);
                break;
        }
    }
    getchar();
    return 0;
}


3. 相同结果:
#include <stdio.h>

int main(void)
{
    int i;
    for (i = 0; i < 10; i++) {
        switch (i) {
            case 1: case 3: case 5:
                printf("%d\n", i);
                break;
            case 4:
                printf("@\n");
                break;
        default:
            printf("*\n");
        }
    }
    getchar();
    return 0;
}


4. 用于字符:
#include <stdio.h>

int main(void)
{
    char c;
    for (c = 'A'; c <= 'G'; c++) {
        switch (c) {
            case 'A': printf("6\n");
                break;
            case 'B': printf("7\n");
                break;
            case 'C': printf("1\n");
                break;
            case 'D': printf("2\n");
                break;
            case 'E': printf("3\n");
                break;
            case 'F': printf("4\n");
                break;
            case 'G': printf("5\n");
                break;
        }
    }
    getchar();
    return 0;
}


5. 用于枚举:
#include <stdio.h>

int main(void)
{
    enum ABCD {AAA,BBB,CCC,DDD} e;

    e = CCC;
    switch (e) {
        case AAA: printf("%d.AAA\n", e); break;
        case BBB: printf("%d.BBB\n", e); break;
        case CCC: printf("%d.CCC\n", e); break;
        case DDD: printf("%d.DDD\n", e); break;
    default:
        ;
    }
            
    getchar();
    return 0;
}


posted on 2008-11-26 18:10  万一  阅读(...)  评论(...编辑  收藏