在C或c++编程中什么时候应该使用单引号和双引号?
当前回答
'x'是一个整数,表示的数值 机器字符集中的字母x “x”是一个字符数组,长度为两个字符, 由' x '和' \0 '组成
其他回答
单引号是字符(char),双引号是空结束的字符串(char *)。
char c = 'x';
char *s = "Hello World";
我到处乱戳,比如:int cc = 'cc';它基本上是按字节顺序复制到一个整数。因此,看待它的方式是'cc',基本上是2个c被复制到整数cc的低2个字节。如果你正在寻找一个琐事,那么
printf("%d %d", 'c', 'cc'); would give:
99 25443
这是因为25443 = 99 + 256*99
所以“cc”是一个多字符常量,而不是字符串。
干杯
双引号用于字符串字面量,例如:
char str[] = "Hello world";
单引号用于单字符字面量,例如:
char c = 'x';
正如David在另一个回答中所述,字符字面量的类型是int。
虽然我确信这并没有回答最初的提问者所问的问题,万一你最终在这里寻找文字整数中的单引号,就像我有……
c++ 14增加了在数字文字中间添加单引号(')的功能,以便为数字添加一些可视分组。
constexpr int oneBillion = 1'000'000'000;
constexpr int binary = 0b1010'0101;
constexpr int hex = 0x12'34'5678;
constexpr double pi = 3.1415926535'8979323846'2643383279'5028841971'6939937510;
在C语言中,单引号(如'a')表示字符常量,而"a"是字符数组,总是以\0字符结束
推荐文章
- 未定义对静态constexpr char的引用[]
- 在c++中,restrict关键字是什么意思?
- 如何创建可变参数宏(参数数量可变)
- c++中类似于java的instanceof
- include_directories和target_include_directories在CMake中的区别是什么?
- std::make_pair与std::pair的构造函数的目的是什么?
- 如何追加一个字符到std::字符串?
- 为什么C语言这么快,为什么其他语言没有这么快或更快?
- 转发C中可变函数的调用
- 带有返回类型的Java方法在没有返回语句的情况下编译
- 为什么要在c++中使用嵌套类?
- 如何处理11000行c++源文件?
- 使用g++编译多个.cpp和.h文件
- 当尝试用const初始化变量时,错误“初始化元素不是常量”
- 为什么数组的地址等于它在C语言中的值?