s[10]="1234567\0\0";strlen(s)是多少?答案是8,为什么呢?不是7吗?

 我来答
百度网友5ab78fd
2010-09-13 · TA获得超过159个赞
知道答主
回答量:60
采纳率:0%
帮助的人:0
展开全部
没错,是7。

strlen只会找第一个\0,然后计长度。

我在vc下测试过了:

#include "stdafx.h"
#include "string.h"

int main(int argc, char* argv[])
{
char s[10] = "1234567\0\0";

printf("%d\n", strlen(s));

return 0;
}

输出:
7
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式