求解,为什么答案是3?实在是看不懂
#include<stdio.h> #include<string.h> int main() { printf("%d", strlen("s\n\016\0end")); return 0; }
\0是字符串的结束标志\016表示一个八进制数所以字符串长度为3分别是s \n \016
因为strlen遇到\0认为字符串结束
1、\0是结束符。2、strlen实际上计算的字符串是“s\n\0”