在C或c++编程中什么时候应该使用单引号和双引号?
当前回答
单引号代表性格; 双引号是字符串。
其他回答
使用单引号加单字符:
char ch = 'a';
这里'a'是一个char常量,等于char a的ASCII值。
对字符串使用双引号:
char str[] = "foo";
这里的"foo"是一个字符串字面量。
可以用a但不能用foo
单引号代表性格; 双引号是字符串。
双引号用于字符串字面量,例如:
char str[] = "Hello world";
单引号用于单字符字面量,例如:
char c = 'x';
正如David在另一个回答中所述,字符字面量的类型是int。
在C语言中,单引号(如'a')表示字符常量,而"a"是字符数组,总是以\0字符结束
在C和c++中,单引号标识单个字符,而双引号创建字符串字面量。'a'是一个单独的a字符文字,而"a"是一个包含'a'和空终止符的字符串文字(这是一个2字符数组)。
在c++中,字符字面值的类型是char,但请注意,在C中,字符字面值的类型是int,即sizeof 'a'在一个int为32位的体系结构中是4(而CHAR_BIT为8),而sizeof(char)在任何地方都是1。
推荐文章
- 为什么这个结合赋值和相等检查的if语句返回true?
- PHP中的三个点(…)是什么意思?
- cplusplus.com给出的错误、误解或坏建议是什么?
- C多行宏:do/while(0) vs作用域块
- 找出质数最快的算法是什么?
- 在c#中转换char到int
- 关键字使用virtual+override vs. new
- time_t最终的类型定义是什么?
- 我需要显式处理负数或零时,总和平方数字?
- c++枚举类可以有方法吗?
- 函数名周围的括号是什么意思?
- 用C语言创建自己的头文件
- 格式化IO函数(*printf / *scanf)中的转换说明符%i和%d之间的区别是什么?
- 将析构函数设为私有有什么用?
- main()中的Return语句vs exit()