为什么第一个数组输出的是abc,而第二个数组输出的结果不是我们所想呢?
这是因为第二个数组并不是字符串,而是多个字符所组成。而我没有给第二个数组的末尾添加‘\0’字符,从而导致后面是随机数所造成的乱码。直到随机数成为了’\0’时才会停止。
第一个数组之所以能输出abc,是因为"abc"是一个字符串,所以默认结尾后添加’\0’字符。
当上面这张图运行程序时,第一个和第二个的结果会一样吗?
结果很显然不一样,第二个的长度夸张地显示成了218。其实218表示程序运行到第219个字符时,碰到了’\0’。因此停止并输出结果。
通俗地说,便是每满8便进一到更高位。
例如:’\101’中的“101”是八进制位,如何转化成十进制呢?
如果101以十进制来看的话,便是1乘10的2次方+0乘10的1次方+1乘10的0次方。如果十进制的理解了,那么八进制也是一样。
以八进制来把101转化成十进制,便是1乘8的2次方+0乘8的1次方+1乘8的0次方。结果是64+0+1,即65。
像’\ddd’这种类型的字符,d中的数字范围为0~7,每满8,便进1。
里面的八进制转化为十进制后,有对应的ASCII码值。