为什么 'char' 值必须有单引号而不是双引号? [重复]

问题描述 投票:0回答:2

目标

最后我想知道为什么C++不支持

char letter = "C";
但是支持
char letter = 'C';
(注意引号不同)

代码

我使用 Repl.it 作为代码平台。

#include <iostream>

int main()
{
    char letter = "C";
    std::cout << letter;
}

错误信息

main.cpp:在函数'int main()'中:

main.cpp:5:19:错误:从“const char*”到“char”的转换无效[-fpermissive] 字符字母=“C”;

c++ char
2个回答
11
投票

它们是必需的,因为

'C'
"C"
代表完全不同的类型 - 第一个是整数值,而第二个是两个字符的数组(字母
'C'
加上隐式空终止符)。两者都很有用,您需要某种方式来表达您想要哪一个,这就是不同类型的引号的作用。


2
投票

单引号用于单个字符,而双引号用于创建字符串文字。它们的含义不同。

查看更详尽的解释。

© www.soinside.com 2019 - 2024. All rights reserved.