在我的代码中,我定义了一些编译器常量,如下所示:
#define D_CR '\x10' // New line
#define D_LF '\x13' // New paragraph
#define D_EOS '\xFF' // End of string
(这些可能是字符,整数,等等......)
我想以两种方式使用它们,一种是在字符串文字中,其次是在 switch 语句中。
unsigned char dialogString[] =
"LOREM IMSUM" D_CR
"DOLAR SIT A MET" D_EOS;
switch (dialogString[i]) {
case D_CR: /* ... */ break;
case D_LF: /* ... */ break;
case D_EOS: /* ... */ break;
default: printf(dialogString[i]); break;
}
我遇到的问题是我正在混合类型并且收到编译器警告。
dialogString.c(5) parse error: token -> ''\x10'' ; column 11
有什么方法可以让这两种情况都适用吗?