首先把上面5种分下类,分成4类

  • 数字0:这个0是整型,int a = 0,ASCII表里面,对应的就是0;
  • 字符0、'0':这这两个是char型,char c = '0',ASCII表里面,对应的就是0x30,也就是48;
  • '\0':这个是转义字符,意义是空字符(NULL),也是字符串结束符,ASCII表里面,对应的就是0,所以'\0' == 数字0;
  • "0":这个是字符串0,看似只有一个字符其实有两个,是字符0和转义字符'\0'的结合,"0" =={ '0', '\0' }。