社区
C++ 语言
帖子详情
面试题求解...
ft86281817
2009-05-25 02:30:19
1、const char *sz =“123”; 怎么转换成整形;
2、 main()
{
char *sz = "0123456789";
int *p = (int*)sz;
printf("%x\n",*++p);
} 字符’0‘对应的十六进制是0x30,请问程序输出是多少???
请大家帮分析下。。详细点。
...全文
437
30
打赏
收藏
面试题求解...
1、const char *sz =“123”; 怎么转换成整形; 2、 main() { char *sz = "0123456789"; int *p = (int*)sz; printf("%x\n",*++p); } 字符’0‘对应的十六进制是0x30,请问程序输出是多少??? 请大家帮分析下。。详细点。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
30 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lzh9955
2009-05-27
打赏
举报
回复
ATOI
某某9
2009-05-27
打赏
举报
回复
学习了
acrobatyuer
2009-05-27
打赏
举报
回复
深刻学习了。。。
zwd2005
2009-05-26
打赏
举报
回复
mark
rainbow_free
2009-05-26
打赏
举报
回复
mark!
amossavez
2009-05-26
打赏
举报
回复
[Quote=引用 7 楼 ft86281817 的回复:]
引用 2 楼 wangpingfang 的回复:
1.使用atoi应该就可以了。
2.对于第二题,主要考察的目的是大端和小端的问题。
对于intel架构的cpu,如果出现跨多个自己的数据类型,如int,long等,低地址存储数据的地位,高地址存储数据的高位。
现在我假定:
地址从@0开始,那么sz在内存的存储为
@0 @1 @2 @3 @4 @5 @6 @7 @8 @9
0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39
当你把char*强制类型转化成int*后,…
[/Quote]
你用的什么编译器呀???
wjksd
2009-05-26
打赏
举报
回复
学习了[Quote=引用 2 楼 wangpingfang 的回复:]
1.使用atoi应该就可以了。
2.对于第二题,主要考察的目的是大端和小端的问题。
对于intel架构的cpu,如果出现跨多个自己的数据类型,如int,long等,低地址存储数据的地位,高地址存储数据的高位。
现在我假定:
地址从@0开始,那么sz在内存的存储为
@0 @1 @2 @3 @4 @5 @6 @7 @8 @9
0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39
当你把char*强制类型转化成int*后,因为int占四个字节,那么p指向@0,…
[/Quote]
bluesky396
2009-05-26
打赏
举报
回复
学习
diablox0147
2009-05-26
打赏
举报
回复
对于第二道题我有点疑问,为什么我把%x 换成%s就会在运行的时候出错呢???
望解答
p89787259
2009-05-25
打赏
举报
回复
[Quote=引用 2 楼 wangpingfang 的回复:]
1.使用atoi应该就可以了。
2.对于第二题,主要考察的目的是大端和小端的问题。
对于intel架构的cpu,如果出现跨多个自己的数据类型,如int,long等,低地址存储数据的地位,高地址存储数据的高位。
现在我假定:
地址从@0开始,那么sz在内存的存储为
@0 @1 @2 @3 @4 @5 @6 @7 @8 @9
0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39
当你把char*强制类型转化成int*后,因为int占四个字节,那么p指向@0,…
[/Quote]
很到位>....
性能侠客行
2009-05-25
打赏
举报
回复
[Quote=引用 4 楼 oopsvip 的回复:]
1,如果允许用库函数,那就像楼上用atoi函数,否则就自己写一个.
2,在小端字节序下应该为37363534, 因为
sz在内存里存放的示意图(小端)----均为ASCII码表示 (pc 电脑保存的数据一般使用 little edian ,小端)
| 39 38|
|37 36 35 34|
p-> |33 32 31 30|
显然++p会指向下一个地址, 也就会输出37363534了
如果是大端 (网络传送一般使用的是big edian,大端。所有网络驱动程序一般发送字节前都要转为大端,反之,接受数据后,会转小端,然后保存)
|39 38 |
|34 35 36 37|
p-> |30 31 32 33|
输出是34353637
[/Quote]
good! 补充一下:
(pc 电脑保存的数据一般使用 little edian ,小端)
(网络传送一般使用的是big edian,大端。所有网络驱动程序一般发送字节前都要转为大端,反之,接受数据后,会转小端,然后保存)
maddingcrow
2009-05-25
打赏
举报
回复
学习了
字云逸
2009-05-25
打赏
举报
回复
还真忘了考虑各类型所占用的空间及内存存储问题了..
Haumwell
2009-05-25
打赏
举报
回复
[Quote=引用 2 楼 wangpingfang 的回复:]
1.使用atoi应该就可以了。
2.对于第二题,主要考察的目的是大端和小端的问题。
对于intel架构的cpu,如果出现跨多个自己的数据类型,如int,long等,低地址存储数据的地位,高地址存储数据的高位。
现在我假定:
地址从@0开始,那么sz在内存的存储为
@0 @1 @2 @3 @4 @5 @6 @7 @8 @9
0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39
当你把char*强制类型转化成int*后,因为int占四个字节,那么p指向@0,…
[/Quote]
挺透彻的
中才德创
2009-05-25
打赏
举报
回复
mark
pathuang68
2009-05-25
打赏
举报
回复
[Quote=引用 2 楼 wangpingfang 的回复:]
1.使用atoi应该就可以了。
2.对于第二题,主要考察的目的是大端和小端的问题。
对于intel架构的cpu,如果出现跨多个自己的数据类型,如int,long等,低地址存储数据的地位,高地址存储数据的高位。
现在我假定:
地址从@0开始,那么sz在内存的存储为
@0 @1 @2 @3 @4 @5 @6 @7 @8 @9
0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39
当你把char*强制类型转化成int*后,因为int占四个字节,那么p指向@0,…
[/Quote]
2楼说得很好,补充一下:
这个题目就是考,指针移动以及大尾和小尾。
例如对于0x12345678,大部分Unix机器和网络是这样0x12,0x34,0x56,0x78存储的,这种方式成为big-endian,intel处理器列如0x78 0x56 0x34 0x12这样来存储的,成为小尾little-endian。
GoonYangXiaofang
2009-05-25
打赏
举报
回复
[Quote=引用 13 楼 dl591944556 的回复:]
第一题atoi(sz)就能实现
第二题 sz的0123456789
0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39
当你把char*强制类型转化成int*后,
int 占4个字节 char占一个字节
指针的指向发生偏移
输出为37363534
[/Quote]
学习了。
dl591944556
2009-05-25
打赏
举报
回复
第一题atoi(sz)就能实现
第二题 sz的0123456789
0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39
当你把char*强制类型转化成int*后,
int 占4个字节 char占一个字节
指针的指向发生偏移
输出为37363534
woods2001
2009-05-25
打赏
举报
回复
好问题···
好解答~
o0MyBelieve0o
2009-05-25
打赏
举报
回复
mark
加载更多回复(10)
hive一道
面试题
,用分析函数来
求解
本文通过一道Hive
面试题
,展示了如何利用分析函数解决
求解
每个用户截止到每月为止的最大单月访问次数和累计到该月的总访问次数的问题。通过创建Hive表并执行HQL语句,最终得到期望的结果,此方法比其他解决方案更简洁,仅需一个job完成。
神州数码
面试题
求解
本文详细解析了神州数码
面试题
的解答过程,包括查询最大薪资、学生表日期操作、Oracle约束、SQL语句位置等核心内容。
创新工厂
面试题
详解:共打了多少鱼 -- 正解 递归
求解
法
这篇博客解析了一道创新工场的
面试题
,涉及五人打渔后如何分配的问题。博主指出大多数答案通过循环解决,但正确方法应使用递归算法。通过数学推导,给出递归公式,并解释如何高效地利用递归
求解
,特别是对于M=5的情况,只需255次循环。文章强调了递归算法的重要性,并鼓励读者深入理解递归,同时提供了相关理论学习链接。
C++程序分享--常见算法/编程
面试题
:给定一个正整数n,实现
求解
n以内的所有质数
该博客分享常见编程
面试题
,聚焦C++程序,介绍给定正整数n
求解
n以内所有质数的内容。还提及博主的其他原创文章,包括面试准备、算法图解及代码实现,以及C#实例等信息技术相关内容。
一道变态的
面试题
的
求解
本文介绍了一道编程
面试题
,题目要求仅通过修改一个字符让C程序正确输出20个减号,并提供了三种JavaScript实现方案。
C++ 语言
65,211
社区成员
250,514
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章