C语言求助:关于数字与字符串的对应怎么做

2019-07-20 23:57发布

如题。
我的需求是用printf打印出板卡类型等调试信息。

我知道printf显示字符的用法大概是下面这样:
printf("   the char is %s the chinese is %s   ","abcdefg,","中华五千年");

也会把字符放在数组里:
char *BoardType_Display [3]={
"主控板",
"采集板",
"发送板"
}


printf("   the board type is %s   ","abcdefg,",BoardType_Display [1]);


上面的例子中我是用数组的下标来对应板卡类型的。实际上板卡类型是用两个字节来表示的,比如0x0302代表采集板,0x0101代表主控板。

那么请问我该怎样把板卡类型和那两个字节对应起来并通过串口打印出来呢?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
11条回答
yyx112358
1楼-- · 2019-07-21 03:48
看起来楼主似乎只是需要写代码时候方便记忆?那就是用#define 吧
如果是需要运行时根据某些函数返回值决定,那楼主应该主要问题在于不可能定义一个指针数组达到array[0xFF][0x5A]这么大,不知我说的对么?如果是这样,那就用稀疏矩阵来存储吧,可百度“三元组表”
jiutianshenjian
2楼-- · 2019-07-21 06:21
 精彩回答 2  元偷偷看……
emWin
3楼-- · 2019-07-21 11:16
我看出来低字节是和数组线性对应的
XUZJWWSZ
4楼-- · 2019-07-21 17:06
emWin 发表于 2016-1-29 23:46
我看出来低字节是和数组线性对应的

其实不是的,有好多板,我只是随便举例的,如果一个字节就能避免重复的话我们也不会用两个字节了。
XUZJWWSZ
5楼-- · 2019-07-21 22:18
 精彩回答 2  元偷偷看……
yyx112358
6楼-- · 2019-07-22 01:58
不太清楚LZ是什么需求。这个数字是写代码的时候定义的呢?还是运行时根据某些函数返回值来决定的呢?
最保险的方法就是……switch case

一周热门 更多>