目标
最后,我想知道为什么C ++不支持char letter = "C";
但支持char letter = 'C';
(请注意引号不同)。
代码
我使用Repl.it作为代码平台。
#include <iostream>
int main()
{
char letter = "C";
std::cout << letter;
}
错误消息
main.cpp:在函数&#39; int main()&#39;:
main.cpp:5:19:错误:来自&#39; const char *&#39;的无效转换去#char;&#39; [-fpermissive] char letter =&#34; C&#34 ;;
答案 0 :(得分:8)
它们是必需的,因为'C'
和"C"
代表完全不同的类型 - 第一个是整数值,而第二个是两个字符的数组(字母'C
'加上一个隐式空终止符)。两者都很有用,你需要一些方法来说明你想要哪一个,这就是不同类型的引用。
答案 1 :(得分:2)
单引号用于单个字符,而双引号用于创建字符串文字。它们意味着不同的东西。