char ss[8] = "123\0456"; printf("%lu\n", strlen(ss));
为什么结果是 5
“\045”表示转义“045”,以0开头的数字是八进制,即“\045”表示十进制的37。带上其他"1236" 4个数,共5位!有帮助请采纳!
因为\045被识别成一个八进制数字了,所以分别是1,2,3,\045,6共5个字符