"C" 中的 char const 太长

char const too long in "C"

我在 if 语句中遇到 char const too long 错误。我在 Google 中搜索了这个错误,他们建议将单引号 ('') 更改为双引号 (""),即 charRead != "/0"。

编译代码后,我得到一个不同的错误 "operands of "!=" not same type"

如何解决?

if( (charRead != '/0') && (isalnum(charRead) || isspace(charRead) || ispunct(charRead)) ) ...

'/0' 不是有效的字符文字。如果你的意思是它是一个零字节,你用反斜杠转义它,像这样:'[=11=]'

/0 是两个字符。这就是为什么您会收到错误消息,指出它太大而无法存储在 char 中。 [=11=] 是一个字节值为 0 的字符。这个可以存储在一个字符中。