strlen(hello word):字符串为“hello word”这种字符串常量,系统会在其后自动补上'\0';但是求字符串长度的函数strlen()只要遇见'\0',就会返回函数值,'\0'不算在其中。所以返回值为10(空格也算一个字符)。

strlen(hello\0world):其中的字符串为“hello\0word”,而strlen函数遇到'\0'就代表结束,所以返回值为5。

注意:当用字符串给字符数组赋值时,由于要添加结束符'\0',数组的长度要比字符串的长度大1.

例如:    char str[]="good job";

       该数组在内存中的实际存放情况为:

g o o d    j o b \0

       字符串的长度为8,数组长度为9。

'\0'是由c编译系统自动加上的。采用了'\0'结束标志,因此在字符串赋初值时一般不用指定数组的长度,而是由系统自动分配。

posted on 2019-05-08 13:54  不吃猫的鱼er  阅读(3404)  评论(0)    收藏  举报