输出七为什么

输出7为什么?
#include<stdio.h> 

#include<string.h> 

main() 

{ char str[]="abcd\n\123\xab"; 

printf("%d",strlen(str)); 




------解决方案--------------------
在我的编译器下面出现了未知的结果。。。
------解决方案--------------------
探讨

a
b
c
d
\n
\123
\xab

------解决方案--------------------
文件没错,abcd是四个字符、\n为一转义字符、\123为一八进制数、\xab为一十六进制数 所以是7
------解决方案--------------------
除了\0 其他的都是算是还没有结束的字符。
数一数是7个。