nimo_096
2015-09-15 04:27
采纳率: 50%
浏览 3.0k
已采纳

C语言计算字符长度的函数 strlen的问题

下面这段:

 int main(){
  char s[]="hello world";
  char *n;

    n=&s[0];
  int t=strlen(n);
  printf("%d\n",t);
}

得到字符长度是11,但是如果把char s[]="hello world";改为char s[11]="hello world";
最后的值就会变成17,多出来的6是怎么回事

另外 如果重写strlen方法

 size_t strlen(const char *s){
  int n;
  for(n=0;*s!='\0';s++)
    n++;
  return n;
}

for循环里的*s!='\0'改成EOF 最后的结果就会变成24

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 邀请回答

3条回答 默认 最新

相关推荐 更多相似问题