东航航班信息动态查询:这道c语言题怎么做?为什么要这样做!可以说的详细点吗?

来源:百度文库 编辑:杭州交通信息网 时间:2024/05/05 18:47:04
char str[]="ab\n\012\\\"";
printf("%d",strlen(str));

strlen()起到的功能就是计算字符串长度,即其实际长度,不包括字符串后自带的'\0'结束符
所以 输出结果为6
至于怎么的6,楼上以说的很清楚,不在重复说明了

ab,占两个字符
\n,占一个字符
\012,是个八进制数,占一个字符
\\,第一个\是转义字符,后面的\占一个字符
\",第一个\是转义字符,后面的"占一个字符

这样一共是6个字符

完全同意,但字符串还有\0
所以虽然输出是6,其实在内存中占7个

strlen计算的结果应该不包括最后的\0

结果是6