在C或c++编程中什么时候应该使用单引号和双引号?
当前回答
在C和c++中,单引号被称为字符('a'),而双引号被称为字符串("Hello")。不同的是,一个字符可以存储任何东西,但只能存储一个字母/数字等。字符串可以存储任何东西。 但也要记住,“1”和“1”之间是有区别的。 如果你输入 cout < < ' 1 ' < < endl < < 1; 输出将是相同的,但不是在这种情况下:
cout<<int('1')<<endl<<int(1);
这次第一行是48。当你将一个字符转换为int型时,它会转换为它的ascii码,'1'的ascii码是48。 同样,如果你这样做:
string s="Hi";
s+=48; //This will add "1" to the string
s+="1"; This will also add "1" to the string
其他回答
单引号是字符(char),双引号是空结束的字符串(char *)。
char c = 'x';
char *s = "Hello World";
单引号用于字符,双引号用于字符串。
例如……
printf("%c \n",'a');
printf("%s","Hello World");
输出
a
Hello World
如果你在相反的情况下使用这些,并使用单引号字符串和双引号字符,这将是结果:
printf("%c \n","a");
printf("%s",'Hello World');
输出:
对于第一行。你将得到一个垃圾值或意外值,或者你可能得到这样的输出:
�
而对于第二个表述,你什么都看不到。还有一件事,如果你在这之后有更多的语句,它们也不会给你任何结果。
注意:PHP语言为您提供了轻松使用单引号和双引号的灵活性。
我到处乱戳,比如:int cc = 'cc';它基本上是按字节顺序复制到一个整数。因此,看待它的方式是'cc',基本上是2个c被复制到整数cc的低2个字节。如果你正在寻找一个琐事,那么
printf("%d %d", 'c', 'cc'); would give:
99 25443
这是因为25443 = 99 + 256*99
所以“cc”是一个多字符常量,而不是字符串。
干杯
'x'是一个整数,表示的数值 机器字符集中的字母x “x”是一个字符数组,长度为两个字符, 由' x '和' \0 '组成
声明char / string的不同方法
char char_simple = 'a'; // bytes 1 : -128 to 127 or 0 to 255
signed char char_signed = 'a'; // bytes 1: -128 to 127
unsigned char char_u = 'a'; // bytes 2: 0 to 255
// double quote is for string.
char string_simple[] = "myString";
char string_simple_2[] = {'m', 'S', 't', 'r', 'i', 'n', 'g'};
char string_fixed_size[8] = "myString";
char *string_pointer = "myString";
char string_poionter_2 = *"myString";
printf("char = %ld\n", sizeof(char_simple));
printf("char_signed = %ld\n", sizeof(char_signed));
printf("char_u = %ld\n", sizeof(char_u));
printf("string_simple[] = %ld\n", sizeof(string_simple));
printf("string_simple_2[] = %ld\n", sizeof(string_simple_2));
printf("string_fixed_size[8] = %ld\n", sizeof(string_fixed_size));
printf("*string_pointer = %ld\n", sizeof(string_pointer));
printf("string_poionter_2 = %ld\n", sizeof(string_poionter_2));