字符串末尾的'\ 0'也包含在这里吗?

Nir*_*van 3 c++ string strlen

如果我声明一个包含10个元素的字符串,如下所示:

char s[10];
Run Code Online (Sandbox Code Playgroud)

那么'\ 0'到底是占据第10位还是第11位?基本上我的问题是我们在字符串中少了1个元素吗?

如果我使用strlen()函数来查找此字符串的长度,返回值是否包含null?即如果字符串是"男孩",函数会给我3或4吗?

del*_*ver 10

没有第11位,即是的,这是一个较少使用的元素.

不要在那里放置长于9个字符的字符串. Strlen()不包括null终止符.

例如:

char s[]="hello"; 
Run Code Online (Sandbox Code Playgroud)

s为6个字符的阵列,但strlen()s是5.