读书人

这样的字符串常量在 C 中能编译通过

发布时间: 2012-02-20 21:18:23 作者: rapoo

这样的字符串常量,在 C 中能编译通过吗?
const char *s1 = "\x1FFirst.... ";
const char *s2 = "\x20Fifth.... ";

编译警告:字符值超出范围。
编译器把 First 和 Fifth的首字符也当作16进制 F 的转义字符了。

像这样的情况,该怎么定义才对呢?



[解决办法]
const char *s1 = "\x1F\First.... ";
const char *s2 = "\x20\Fifth.... ";
[解决办法]
const char *s1 = "\x1F " "First.... ";
const char *s2 = "\x20 " "Fifth.... ";
//这样也可以
[解决办法]
const char *s1 = "\x1FFirst.... ";
0x1F超过ascii了。我不知道你这样做有什么。
const char *s2 = "\x20Fifth.... ";
这个简单const char *s2 = "\x20\x46\x69\x66\x74\x68.... ";就可以了
[解决办法]
我理解你要的东西跟1,2楼都不一样,不知道谁错了
[解决办法]
分开来,不是一样的可以吗?那里有问题?
[解决办法]
cc可能理解错误了
嘿嘿
关注一下
其实你不一定要这么处理的
[解决办法]
const char *s1 = "\x1F\First.... ";
const char *s2 = "\x20\Fifth.... ";

读书人网 >C++ Builder

热点推荐