c语言中switch case怎么表示一个范围

2022-07-30 财经 522阅读

1、当判断整数时

示例:判断整数范围

#include<stdio.h>

int main()

{

unsigned char buf[6]={0x00,0x07,0x11,0x60,0x61,0x66};

for(int i=0;i<6;i++)

switch(buf)

{

case 0x00...0x10:printf("buf[%d]is 0x0~0x10\n",i);break;

case 0x11...0x20:printf("buf[%d]is 0x11~0x20\n",i);break;

case 0x30...0x60:printf("buf[%d]is 0x30~0x60\n",i);break;

case 0x61...0xff:printf("buf[%d]is 0x61~0xff\n",i);break;

}

}

2、当判断字符时

示例:将"0x00"~"0xff"转化为数值0x00~0xff

#include<stdio.h>

int main()

{

char buf[6][6]={"0xff","0X02","0X1f","0xf1","0xa1","0Xb0"};

for(int i=0;i<6;i++)

if(buf[0]=='0'&&(buf[1]=='x'||buf[1]=='X'))//匹配前缀

{

unsigned char val=0;

int err=0;

for(int j=2;j<4;j++)

switch(buf[j])

{

case'0'...'9':val=val*16+(buf[j]-'0');break;

case'a'...'f':val=val*16+(buf[j]-'a'+10);break;

case'A'...'F':val=val*16+(buf[j]-'A'+10);break;

default:err=1;break;

}

if(!err)

printf("buf[%d]=0X%02X\n",i,val);

else

printf("buf[%d]ERR\n",i);

}

else

printf("buf[%d]ERR\n",i);

}

扩展资料:

include用法:

#include命令预处理命令的一种,预处理命令可以将别的源代码内容插入到所指定的位置;可以标识出只有在特定条件下才会被编译的某一段程序代码;可以定义类似标识符功能的宏,在编译时,预处理器会用别的文本取代该宏。

插入头文件的内容

#include命令告诉预处理器将指定头文件的内容插入到预处理器命令的相应位置。有两种方式可以指定插入头文件:

1、#include<文件名>

2、#include"文件名"

声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com