C 中的 ' 和 " 有什么区别?



'q'可以正常退出,但"q〃;没有。

有什么区别?

#include <stdio.h>
#include <unistd.h>

int main(){
char c;
while(read(STDIN_FILENO, &c, 1) == 1 && c != "q");
return 0;
}

'q'是表示单个字符的字符常量。

"q"是具有字符{ 'q', '' }的类型为char[2]的字符数组(字符串文字(。

单个字符与类似的字符串文字的比较

c == "q"

c != "q"

没有意义,编译器将发出错误消息,因为事实上有一个整数(整数提升后的字符(与一个指针(字符串文字隐式转换为指向其第一个元素的指针后(

With",您创建了一个char[],使用',您创建了character。它们很相似,但并不完全相同:字符只是一个介于0和255之间的ASCII值(就像byte(,char[]是一个ASCII值字符串,带有某种终止符来告诉代码这是字符串的末尾(在这种情况下是零字符,\0(。你只能在"中放入一个字符,因为它只有1个字符,但可以将任意多个字符放入"中&";,当然,除非RAM用完,因为它是一个数组。

此外,由于你想将它与char类型的变量进行比较,所以它不能是字符串,因为这意味着要比较不同的类型(据我所知,数组/string/char[]/几乎是一个指针,比较内存地址和字符变量在那一刻有点奇怪(,但你可以使用myCharArray[0],因为这样你就可以获得数组的第一项,这是一个CCD_ 11演员。

'c'是一个字符"c";是包含字符c和"\0"的字符串

相关内容

  • 没有找到相关文章

最新更新