比较中单引号和双引号的意义是啥? [复制]
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】:单引号表示字符文字。双引号表示字符串文字。
所以'-'
的类型为char
1,而"-"
的类型为const char[2]
(通常衰减为const char *
)。
1
int
在 C.
【讨论】:
太棒了,谢谢你的信息=)'-'
的类型为 char
。
@JamesMcNellis:有趣,我没有意识到 C++ 和 C 之间的差异。
"一个包含signle c-char的普通字符的lineral是char类型,其值等于执行时c-char的编码数值字符集。” (03 C++标准)
确实如此。如果它是一个多字符文字(例如'--'
),那么它的类型应该是int
。以上是关于比较中单引号和双引号的意义是啥? [复制]的主要内容,如果未能解决你的问题,请参考以下文章