鱼C论坛

 找回密码
 立即注册
查看: 2177|回复: 17

一个输出问题?

[复制链接]
发表于 2015-8-26 23:45:12 | 显示全部楼层 |阅读模式
1鱼币
int i, j;
char array[] = {'I', 'l', 'f', 'i', 's', 'h', 'C', '\0'};
i = sizeof(array);
j = strlen(array);
printf("%d %d", i, j);
输出是8和7怎么小甲鱼的答案是9和8呢?????

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-8-27 08:38:11 | 显示全部楼层
sizeof计算变量的字节数
strlen计算字符串的长度

按照你的这段程序就是8和7

你应该把小甲鱼答案是9 和8的源码也贴出来
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-8-27 08:51:30 | 显示全部楼层

sizeof计算变量占多大内存字节数。
strlen计算字符串的长度,字符串是以'\0'结束的。并且计算的长度不包括'\0'。对于小甲鱼的源码。要看了才知道。为什么是9和8了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-8-27 10:24:29 | 显示全部楼层
sizeof是计算变量的字节数的、
strlen才是计算字符串长度的哦,看你想要什么功能了,望采纳。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2015-8-27 22:36:11 | 显示全部楼层
ryxcaixia 发表于 2015-8-27 08:38
sizeof计算变量的字节数
strlen计算字符串的长度

《零基础入门学习C语言》第六章考核      7. 以下程序段的输出结果是小甲鱼的答案是d    上边就是源码。我是新手才不确定自己是不是对的。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-8-27 23:40:28 | 显示全部楼层
你复制源码输进去就ok了,不用纠结。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-8-29 14:44:09 | 显示全部楼层
你两个源码可能不一样,可能少个字母
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-8-30 21:22:25 | 显示全部楼层
楼上说的都对
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2015-8-30 22:25:30 | 显示全部楼层

表示不同意sizeof(array);不管有几个字符都是8;而strlen(array);才和字符个数相关的.
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-8-31 11:03:55 | 显示全部楼层
sizeof返回定义arr数组时,编译器为其分配的数组空间大小,不关心里面存了多少数据。
strlen只关心存储的数据内容,不关心空间的大小和类型。

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-8-31 11:04:27 | 显示全部楼层
嗓子坏咯 发表于 2015-8-31 11:03
sizeof返回定义arr数组时,编译器为其分配的数组空间大小,不关心里面存了多少数据。
strlen只关心存储 ...

没找到你说的视频内容
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2015-9-1 00:31:12 | 显示全部楼层
嗓子坏咯 发表于 2015-8-31 11:03
sizeof返回定义arr数组时,编译器为其分配的数组空间大小,不关心里面存了多少数据。
strlen只关心存储 ...

你怎么则么清楚,是考核里边的   第六章考核      7.题
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-9-2 15:39:45 | 显示全部楼层
sizeof是计算字节数的,strlen是计算字符串的长度的,字符串长度不包括'\0'
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-9-15 17:12:06 | 显示全部楼层
看看sizeof和strlen的区别,你就会知道怎么回事了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-2-1 22:26:52 | 显示全部楼层
'\0'在内存中占了1个字节,但在字符串中\0不显示不占位
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-7-23 20:31:50 | 显示全部楼层
因为 sizeof 测量的是数组的长度
而strlen 是测量字符串的长度 不计\0
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-8-16 02:04:19 | 显示全部楼层
sizeof计算变量的字节数,  strlen计算字符串的长度
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-9-13 13:02:33 | 显示全部楼层
我在想会不会是小甲鱼同志误口了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-19 16:13

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表