【发布时间】:2018-07-01 16:16:27
【问题描述】:
目标
最后想知道为什么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] char 字母 = "C";
【问题讨论】:
-
因为这是语法。仅此而已……
-
你明白为什么C++不允许
int i = {1,2,3,4,5};吗?原理是一样的。 -
人们总是可以创建自己的编程语言。我想它适用于硕士学位......至少是它的开始。
-
"C" 是一个字符串。它是零终止的并存储在内存中。分配时,它会给出地址。 'C' 是一个单字节,只是复制到变量中。
-
因为标准是这样说的:lex.ccon