“printf ("%d\n",strlen("ats\n012\1\\"))”的输出结果为9 ;而
printf("%d\n",strlen("s\n\016\0end"))输出结果为3 是因为把016看成是三位八进制转义序列,所以只占一个长度。那么在“printf ("%d\n",strlen("ats\n012\1\\"))中 为什么012就占了三个长度呢?
能帮忙解释一下为什么可以把016看作八进制数,而不能把012看成八进制吗?
追答八进制要以 \开头,后面是 1到3位数字
不用\开头是不能看成八进制的
就是说要想把012看成八进制数的话必须是\012\的形式吗
追答对。最后的\不能用的