if(flags >= 0 && flags <= 3)
{
   // 执行A
}
else
{
  // 执行B
}

解决方案 »

  1.   

    直接switch 也可以:)
      

  2.   

    大哥,flag是char类型的阿,不能直接比较吧?
      

  3.   

    switch ( flags ) 
    {
    case '0':
    case '1':
    case '2':
    case '3':
    // 执行A;
    break;
    case '5':
    case '6':
    case '7':
    case '8':
    case '9':
    // 执行B;
    break;
    }
      

  4.   

    char flag[]={'0','1','2','3','4','5','6','7','8','9'};
    for (int i=0; i<10; i++)
    {
    if(flag[i] >= '0' && flag[i] <= '3')
    {
    // 执行A
    }
    else
    {
    // 执行B
    }
    }
      

  5.   

    if(){
    }
    else{
    }

    switch()
    都可以吧
      

  6.   

    偶也来个#include <stdio.h>
    /* 代码段A */
    void fnA()
    {
    printf( "fnA\n" );
    }/* 代码段B */
    void fnB()
    {
    printf( "fnB\n" );
    }void (*entry[])() = {
    fnA, fnA, fnA, fnA, fnB, fnB, fnB, fnB, fnB, fnB
    };int main(){

    char flag; flag = '4';

    entry[flag-'0']( );

    system( "PAUSE" );
    return;
    }
      

  7.   

    char可以用在switch,因为char本身也可以作为一个单字节的整型来处理
      

  8.   

    char 会转换到ANSI码值比较的吧
      

  9.   

    if(flag>=0x30 && flag<=0x39)
    {
        if(flag)>0x33) // 执行B
        else // 执行A
    }
      

  10.   

    大哥,flag是char类型的阿,不能直接比较吧?
    ================================================
    呵呵,我就奇怪,怎么不自己试试呢好象有人这么说过,程序是调试出来的
    :)会比
    ASCII的
      

  11.   

    case 'cmd':这样都OK.不过比的是
    'C'的ASCII