char str[][9]={"hello","welcome"};char *p=str[0];printf("%d",strlen(p+10));为什么输出结果为6?而把10去掉,即改为strlen(p)后,则输出结果为5?
为什么在hello后面跟着4个NULL呢?按照下面strlen的工作原理的话,第一个输出的是5才对啊?
很简单啊,因为你定义的数组是九个元素,你只排满了前面五个,后面自然就是 NULL 了。
还有疑问欢迎继续……