用单引号扩住的意思是表明里面的内容是一个字符。比如说:
'a' 表示的是字符a,而 a 表示的是变量a。
char类型变量只能赋予1个字符,两个字符是不行的。
1、C语言中规定:单引号括住的表示是一个字符,双引号括住的表示一个字符串。字符和字符串是有差别的。字符串在最后系统会自动为其加上表示结束的字符“\0”,而字符实际上代表一个整数,整数值对应于该字符在编译器采用的字符集中的序列值。
2、C编译原理定义: 单引号里面只能写字符,当写多个字符时,后面输入的会把前面输入的在缓冲区内覆盖掉,所以看到的永远是最后一个输入的内容。
1、这样说吧:
如果char a='8';你觉得a的值到底应该为多少,是数字8,还是字符8呢?当然应该是字符8
所以呀,在设计上,必须用单引号括起来是为了区分数字和字符的,字符需要括起来,而数字不需括起来。比如int a=8;那这个8就是个数字
2、char是单个字符,而不是字符串,所以定义时“用一个单引号扩住两个字母,而输出的是一个字母”至于为什么要输出最后一个呢,是因为赋值先要刷新原来的内存,在把新值储存上去,所以就只存着最后一个字符了。
老实说,如果你要学这门语言轻松些,最好先不要纠结于这些在课本上没有定义和答案的问题,学习一门语言有些时候要不求甚解,等以后知识储备多了,这些细枝末节的东西自然会知道