用strlen可以测试字符数组的长度吗?

Snailqiu 2016-02-26 07:42:13
用strlen是可以测试字符串的长度的,直到找到结束标记\0,那字符数组呢?
int main(int argc, char *argv[])
{
char a[4]="abcd";
printf("%d\n",strlen(a));
return 0;
}

这段代码输出的结果是:7 怎么理解?

如果是这样
int main(int argc, char *argv[])
{
char a[]="abcd";
printf("%d\n",strlen(a));
return 0;
}


输出结果为:4

IDE:C-Free5
...全文
729 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
sdghchj 2016-02-26
  • 打赏
  • 举报
回复
char a[4]="abcd";a只有4个元素,装了abcd4个字母,没有终止符,a[4]后面的字节是不可预计的。

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧