
char s[ ]="1234567";,执行 printf(”%d,%d\n“,strlen(s),sizeof(s));后输出的结果是 请详细说明谢谢!
5个回答
展开全部
7,8
strlen求的是字符串"1234567"的长度,也就是遇到字符串的结束符'\0',就结束计算,明显字符串里面有7个字符,因此是7
sizeof是计算数组s的大小,s里面保存的是'1', '2', '3', '4', '5', '6', '7', '\0' 共8个字符,因此s的大小是8
strlen求的是字符串"1234567"的长度,也就是遇到字符串的结束符'\0',就结束计算,明显字符串里面有7个字符,因此是7
sizeof是计算数组s的大小,s里面保存的是'1', '2', '3', '4', '5', '6', '7', '\0' 共8个字符,因此s的大小是8
展开全部
strlen(s) 是字符串长度,这里有7个字符 ,所以等于7.
而sizeof(s)是这个存储空间的大小,这里s最后会有一个'\0'的结束字符,所以一共有8个字符,而每个字符刚好一个字节,所以这里是8.
希望对你有帮助
而sizeof(s)是这个存储空间的大小,这里s最后会有一个'\0'的结束字符,所以一共有8个字符,而每个字符刚好一个字节,所以这里是8.
希望对你有帮助
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
都是7,前面的是数组长度,后面的是数组字节大小。应该就是这样理解吧。希望有帮助。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询