4

在我的代码中,我定义了一些编译器常量,如下所示:

#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

有什么方法可以让这两种情况都适用吗?

4

0 回答 0