sizeof("hello\040\t\")的结果为
你原始的sizeof("hello\040\t")其中的字符串是有问题的,最后一个\”被解析成一个字符,因此你原始的字符串应该是少一个”或者多一个\,我这里是按照你多了一个\去分析的。
你可以把字符串放到一个字符数组中,然后具体看一下每一位上的值。其中\040被解析成空格
char a[] = "hello\040\t";
a[0] = 'h'
a[1] = 'e'
a[2] = 'l'
a[3] = 'l'
a[4] = 'o'
a[5] = ' '//\040被解析成空格
a[6] = '\t'
a[7] = '\0'//字符串结束标识符
因此长度为8
"hello\040\t\\"
等价于{'h', 'e', 'l', 'l', 'o', '\040', '\t', '\\', '\0' }
,sizeof返回的是这个字符数组的大小