8
return (int) (feetPart) + '\' ' + inchesPart + '\''+'\'';

为什么上述无效字符常量,这在 JavaScript 中完美运行。我想以英尺和英寸为单位显示高度,并且正在使用这个客户端,但是当我在服务器端使用它时,它会显示Invalid character constant.

4

1 回答 1

27

为什么上面的无效字符常量

因为这部分:

'\' '

这是试图指定一个实际上是两个字符(撇号和空格)的字符文字。字符文字必须恰好是一个字符。

如果要指定“撇号空间”,则应改用字符串文字-此时不必转义撇号:

"' "

你的整个陈述会更好:

return (int) (feetPart) + "' " + inchesPart + "''";

"代替''英寸:

return (int) feetPart + "' " + inchesPart + "\"";

请注意,我什至不清楚原始代码是否会编译后执行您想要的操作,因为我怀疑它会对feetPart字符执行整数运算......

您的代码在 Javascript 中本来可以的,因为单引号和双引号都用于字符串文字。

于 2013-04-17T13:38:52.037 回答