在我的代码中,我定义了一些编译器常量,如下所示:
#define D_CR '\x10' // New line
#define D_LF '\x13' // New paragraph
#define D_EOS '\xFF' // End of string
(这些可能是chars,ints,等等......)
我想以两种方式使用它们,一种是在字符串文字中,另一种是在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
有什么方法可以让这个方案适用于这两种情况吗?