在C或c++编程中什么时候应该使用单引号和双引号?
当前回答
单引号是字符(char),双引号是空结束的字符串(char *)。
char c = 'x';
char *s = "Hello World";
其他回答
单引号表示字符,双引号表示字符串。
在Java中也是如此。
双引号用于字符串字面量,例如:
char str[] = "Hello world";
单引号用于单字符字面量,例如:
char c = 'x';
正如David在另一个回答中所述,字符字面量的类型是int。
单引号是字符(char),双引号是空结束的字符串(char *)。
char c = 'x';
char *s = "Hello World";
在C和c++中,单引号标识单个字符,而双引号创建字符串字面量。'a'是一个单独的a字符文字,而"a"是一个包含'a'和空终止符的字符串文字(这是一个2字符数组)。
在c++中,字符字面值的类型是char,但请注意,在C中,字符字面值的类型是int,即sizeof 'a'在一个int为32位的体系结构中是4(而CHAR_BIT为8),而sizeof(char)在任何地方都是1。
单引号用于字符,双引号用于字符串。
例如……
printf("%c \n",'a');
printf("%s","Hello World");
输出
a
Hello World
如果你在相反的情况下使用这些,并使用单引号字符串和双引号字符,这将是结果:
printf("%c \n","a");
printf("%s",'Hello World');
输出:
对于第一行。你将得到一个垃圾值或意外值,或者你可能得到这样的输出:
�
而对于第二个表述,你什么都看不到。还有一件事,如果你在这之后有更多的语句,它们也不会给你任何结果。
注意:PHP语言为您提供了轻松使用单引号和双引号的灵活性。
推荐文章
- 未定义对静态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语言中的值?