发布网友 发布时间:2022-02-28 23:50
共2个回答
热心网友 时间:2022-03-01 01:20
结果是6,3,
理由: 这个字符数组其有效的字符为a,b,\012(换行),'\0',8,'\0',sizeof(x)为6
strlen(x)表示字符组a里的长度也就是有多少个元素strlen遇到'\0'才会退出(不包括'\0')。。也就是不算上‘\0'所以结果是3,。。
去掉\0 结果6,5
理由: 这个字符数组其有效的字符为a,b,1,2,8,'\0',sizeof(x)为6
strlen(x)表示字符组a里的长度也就是有多少个元素strlen遇到'\0'才会退出(不包括'\0')。。也就是不算上‘\0'所以结果是5,。。
热心网友 时间:2022-03-01 02:38
问题在 backspace 键。
\012 -- 八进制数012,
\08 -- 八进制数 008, 表示 backspace 键 (回退),sizeof() 得 2 。
sizeof(x) -- x 占用单元:a 一个,b一个, \012 一个, \08 二个,字符串结束符 一个, 共 6个
strlen -- 有效字符串长度。不计 backspace (和它后面的字符--如果有的话), x[]= "ab\012“ 得 3