#define ________ 0x0
#define _______X 0x1
#define ______X_ 0x2
#define ______XX 0x3
#define _____X__ 0x4
我创建了宏来将几组字符作为整数值存储在 .h 文件中,如上所示,以便使 .h 文件可用于其他文件。
如果我将这个 .h 文件包含在任何其他包含 char 数组的 .c 文件中,例如 ch[] = {________,_______X}
无论如何我可以打印实际的字符集,即ch[0] 为“____”,ch[1] 为“______X”。当我尝试打印时,它会打印相应整数值的 char 值,即 0 和 1。请告诉我可以使用什么命令来打印相同的值。
最佳答案
根据定义,字符是单个字符。因此,打印单个字符如 0x2 永远不会打印多个字符如“_ _ _ _ _ _ X _”。你这样做的方法是创建一个 char * 数组(C 中的字符串是 char *)而不是一个 char 数组。如,
char **mystrings = {"________", "_______X", "______X_", etc.}
然后,你可以使用
printf("%s", mystrings[______X_]);
将打印
______X_
关于c - 从数组中打印宏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24275715/