比较中单引号和双引号的意义是啥? [复制]

Posted

技术标签:

【中文标题】比较中单引号和双引号的意义是啥? [复制]【英文标题】:What is the significance of single quotes vs double quotes in comparisons? [duplicate]比较中单引号和双引号的意义是什么? [复制] 【发布时间】:2012-02-04 17:30:03 【问题描述】:

这会返回一个错误:

return (arg[0] == "-" && arg[1] == "-") ? true : false;

错误:ISO C++ 禁止指针和整数的比较

但是,这不是:

return (arg[0] == '-' && arg[1] == '-') ? true : false;

'" 有什么区别?

【问题讨论】:

【参考方案1】:

单引号表示字符文字。双引号表示字符串文字。

所以'-' 的类型为char1,而"-" 的类型为const char[2](通常衰减为const char *)。


1 int 在 C.

【讨论】:

太棒了,谢谢你的信息=) '-' 的类型为 char @JamesMcNellis:有趣,我没有意识到 C++ 和 C 之间的差异。 "一个包含signle c-char的普通字符的lineral是char类型,其值等于执行时c-char的编码数值字符集。” (03 C++标准) 确实如此。如果它是一个多字符文字(例如'--'),那么它的类型应该是int

以上是关于比较中单引号和双引号的意义是啥? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

SQL中单引号和双引号有啥用? [复制]

浅谈PHP中单引号和双引号到底有什么区别呢?

shell脚本中单引号和双引号的区别

Shell 中单引号和双引号区别

SQL查询语句中单引号和双引号的问题

SQL查询语句中单引号和双引号的问题