在C或c++编程中什么时候应该使用单引号和双引号?


当前回答

单引号用于字符,双引号用于字符串。

例如……

 printf("%c \n",'a');
 printf("%s","Hello World");

输出

a  
Hello World

如果你在相反的情况下使用这些,并使用单引号字符串和双引号字符,这将是结果:

  printf("%c \n","a");
  printf("%s",'Hello World');

输出:

对于第一行。你将得到一个垃圾值或意外值,或者你可能得到这样的输出:

而对于第二个表述,你什么都看不到。还有一件事,如果你在这之后有更多的语句,它们也不会给你任何结果。

注意:PHP语言为您提供了轻松使用单引号和双引号的灵活性。

其他回答

在C语言中,单引号(如'a')表示字符常量,而"a"是字符数组,总是以\0字符结束

单引号是字符(char),双引号是空结束的字符串(char *)。

char c = 'x';
char *s = "Hello World";

使用单引号加单字符:

char ch = 'a';

这里'a'是一个char常量,等于char a的ASCII值。

对字符串使用双引号:

char str[] = "foo";

这里的"foo"是一个字符串字面量。

可以用a但不能用foo

在C和c++中,单引号标识单个字符,而双引号创建字符串字面量。'a'是一个单独的a字符文字,而"a"是一个包含'a'和空终止符的字符串文字(这是一个2字符数组)。

在c++中,字符字面值的类型是char,但请注意,在C中,字符字面值的类型是int,即sizeof 'a'在一个int为32位的体系结构中是4(而CHAR_BIT为8),而sizeof(char)在任何地方都是1。

单引号用于单个字符。双引号用于字符串(字符数组)。如果您愿意,可以使用单引号一次一个字符地构建字符串。

char myChar     = 'A';
char myString[] = "Hello Mum";
char myOtherString[] = { 'H','e','l','l','o','\0' };