野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

楼主: fire

【每日一题讲解】在 32位系统下,执行如下代码,运算结果是多少?

  [复制链接]
发表于 2017-8-20 21:30:54 | 显示全部楼层

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
charstr[20]="0123456789";
inta=strlen(str);//a=10;
intb=sizeof(str);//而b=20;
charss[]="0123456789";
sizeof(ss)结果11===》ss是数组,计算到\0位置,因此是10+1
sizeof(*ss)结果1===》*ss是第一个字符
charss[100]="0123456789";
sizeof(ss)结果是100===》ss表示在内存中的大小100×1
strlen(ss)结果是10===》strlen是个函数内部实现是用一个循环计算到\0为止之前
intss[100]="0123456789";
sizeof(ss)结果400===》ss表示在内存中的大小100×4
strlen(ss)错误===》strlen的参数只能是char*且必须是以'\0'结尾的
charq[]="abc";
charp[]="a\n";
sizeof(q),sizeof(p),strlen(q),strlen(p);





怎么解释跟楼主不一样?
回复 支持 反对

使用道具 举报

发表于 2017-8-21 10:12:22 | 显示全部楼层

看下解释昨天答错了,还没有看解释呢
回复 支持 反对

使用道具 举报

发表于 2017-8-28 15:34:27 | 显示全部楼层
本帖最后由 future_life 于 2017-8-28 15:38 编辑

15    4  4   4    感觉还不是非常理解
回复 支持 反对

使用道具 举报

发表于 2017-8-28 16:03:45 | 显示全部楼层
1,4,4应该是这样的
回复 支持 反对

使用道具 举报

发表于 2017-9-11 22:06:31 | 显示全部楼层
111111111111111111111
回复 支持 反对

使用道具 举报

发表于 2017-9-12 09:07:16 | 显示全部楼层
不大懂,看看
回复 支持 反对

使用道具 举报

发表于 2017-9-14 16:40:39 | 显示全部楼层
14,1,1,14............................
回复

使用道具 举报

发表于 2017-9-14 21:40:25 | 显示全部楼层
14,4,4                  
回复 支持 反对

使用道具 举报

发表于 2017-9-15 08:48:27 | 显示全部楼层
答案是:14,4,4,14
看对不对。
回复 支持 反对

使用道具 举报

发表于 2017-9-24 09:05:20 | 显示全部楼层
15,4,4..........
回复

使用道具 举报

发表于 2017-9-24 10:01:02 | 显示全部楼层
还是看解释吧
回复 支持 反对

使用道具 举报

发表于 2017-9-24 22:30:48 | 显示全部楼层
答案是:15 4 4 4
回复 支持 反对

使用道具 举报

发表于 2017-9-25 16:19:23 | 显示全部楼层
sizeof ( str ) = 14
sizeof ( p) = 1
sizeof ( n ) = 4
sizeof( str ) = 100
回复 支持 反对

使用道具 举报

发表于 2017-9-26 10:29:09 | 显示全部楼层
14,1,4,100
回复

使用道具 举报

发表于 2017-9-26 11:01:12 | 显示全部楼层
Ezio_八两神仙醋 发表于 2017-9-25 16:19
sizeof ( str ) = 14
sizeof ( p) = 1
sizeof ( n ) = 4

答案是18是怎么数出来,一共14个啊 加一也才15
回复 支持 2 反对 0

使用道具 举报

发表于 2017-9-26 11:42:56 | 显示全部楼层
str[]有12个char数据加一个0x00结尾共13字节
sizeof(p)打印出指针地址的大小,32位下为4字节
int型有4字节
func里的传进来的数组当指针了,4字节
应该是13,4,4,4
回复 支持 反对

使用道具 举报

发表于 2017-9-26 14:35:03 | 显示全部楼层
梁山伯2号 发表于 2017-9-26 11:01
答案是18是怎么数出来,一共14个啊 加一也才15

第一个绝对不是18,应该是15,可能是以前的网址有17个,后来这个网址又被注册回来了好像,就变成了14个字符
回复 支持 反对

使用道具 举报

发表于 2017-9-27 09:00:49 | 显示全部楼层
Ezio_八两神仙醋 发表于 2017-9-26 14:35
第一个绝对不是18,应该是15,可能是以前的网址有17个,后来这个网址又被注册回来了好像,就变成了14个字 ...

嗯嗯  赞同
回复 支持 反对

使用道具 举报

发表于 2017-9-27 09:55:01 | 显示全部楼层
猜猜,答案应该是
100,1,2
回复 支持 反对

使用道具 举报

发表于 2017-9-27 14:45:11 | 显示全部楼层
14  4  1  100
回复 支持 反对

使用道具 举报

发表于 2017-9-27 15:13:45 | 显示全部楼层
18 4 4 4   
回复 支持 反对

使用道具 举报

发表于 2017-9-27 21:49:53 | 显示全部楼层
100    16     4
回复 支持 反对

使用道具 举报

发表于 2017-9-28 17:30:38 | 显示全部楼层
回复

使用道具 举报

发表于 2017-9-28 17:34:04 | 显示全部楼层
本帖最后由 qq5782098 于 2017-9-28 18:20 编辑

为什么是18  第一个  怎么看都是15
回复 支持 反对

使用道具 举报

发表于 2017-9-28 20:28:34 | 显示全部楼层
回复 支持 反对

使用道具 举报

发表于 2017-9-28 21:42:07 | 显示全部楼层
不知道,看看答案啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊
回复 支持 反对

使用道具 举报

发表于 2017-9-29 09:50:21 | 显示全部楼层
14 4 4 14看下解释....
回复 支持 反对

使用道具 举报

发表于 2017-10-14 14:54:19 | 显示全部楼层
kankan                  
回复 支持 反对

使用道具 举报

发表于 2017-10-14 23:54:44 | 显示全部楼层
sizeof(str)=4,sizeof(p)=1,sizeof(n)=4,func(str)=14
回复 支持 反对

使用道具 举报

发表于 2017-10-19 07:43:47 | 显示全部楼层
我不太清楚,15,15,2
回复 支持 反对

使用道具 举报

发表于 2017-10-19 23:36:00 | 显示全部楼层
火哥好火哥好火哥好火哥好火哥好火哥好
回复 支持 反对

使用道具 举报

发表于 2017-10-20 07:46:53 | 显示全部楼层
本帖最后由 浩然天成 于 2017-10-20 07:53 编辑

15,4,4,4

看看对不对???

18哪里来的,,,虽然后面那个数组形参传递的时候,蒙了。。。。
回复 支持 反对

使用道具 举报

发表于 2017-10-24 23:55:23 | 显示全部楼层
嗡嗡嗡去反对反对
回复 支持 反对

使用道具 举报

发表于 2017-11-27 11:52:27 | 显示全部楼层
14,14,2,100
回复

使用道具 举报

发表于 2017-11-27 11:54:12 | 显示全部楼层
就没对过,
回复

使用道具 举报

发表于 2017-11-27 16:18:14 | 显示全部楼层
15,0,4,100
回复

使用道具 举报

发表于 2017-11-28 17:06:47 | 显示全部楼层
15 4 4 4

不够10个字。。。
回复 支持 反对

使用道具 举报

发表于 2017-12-2 21:58:00 | 显示全部楼层
每日一题 学习 。。。。
回复 支持 反对

使用道具 举报

发表于 2017-12-2 22:01:08 | 显示全部楼层
00000000000000000
回复 支持 反对

使用道具 举报

发表于 2017-12-3 10:44:52 | 显示全部楼层
16  8  10
思考的初步结果
回复 支持 反对

使用道具 举报

发表于 2017-12-4 11:01:00 | 显示全部楼层
看看,谢谢楼主,,,,,
回复 支持 反对

使用道具 举报

发表于 2017-12-8 10:41:29 | 显示全部楼层
学习学习学习学习学习学习学习学习学习学习
回复 支持 反对

使用道具 举报

发表于 2017-12-8 10:43:12 | 显示全部楼层
学习学习学习学习学习学习学习学习学习学
回复 支持 反对

使用道具 举报

发表于 2017-12-8 17:19:04 | 显示全部楼层
16,4,4,100 对吗?
回复 支持 反对

使用道具 举报

发表于 2017-12-8 17:40:23 | 显示全部楼层
为什么第一个sizeof(str) 是18个呢? 不应该是16吗? 就算加上\0 也应该是16吧?
回复 支持 反对

使用道具 举报

发表于 2017-12-9 06:43:42 | 显示全部楼层
sizeof(str)=32  sizeof(p)=4,sizeof(n)=4,func(str)=32
回复 支持 反对

使用道具 举报

发表于 2017-12-15 11:31:11 | 显示全部楼层
15,1,2,100               
回复 支持 反对

使用道具 举报

发表于 2017-12-15 11:35:52 | 显示全部楼层
sizeof (str )  的结果为 18,为什么,我用Dev-C++运行是15呀?????????
回复 支持 反对

使用道具 举报

发表于 2017-12-22 16:23:08 | 显示全部楼层
15     2    4    200
回复 支持 反对

使用道具 举报

发表于 2017-12-22 16:25:10 | 显示全部楼层
15,2,4 ,200
回复

使用道具 举报

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

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-5-4 21:45 , Processed in 0.042204 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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