| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1366 人关注过本帖
标题:sizeof,strlen的问题
取消只看楼主 加入收藏
xzy199999
Rank: 4
等 级:业余侠客
帖 子:326
专家分:286
注 册:2010-11-19
结帖率:92.45%
收藏
已结贴  问题点数:5 回复次数:6 
sizeof,strlen的问题
char a[7]="123\010\032";
那么sizeof(a)和strlen(a)都是多少啊?
搜索更多相关主题的帖子: sizeof strlen 
2010-11-30 14:49
xzy199999
Rank: 4
等 级:业余侠客
帖 子:326
专家分:286
注 册:2010-11-19
收藏
得分:0 
这答案我当然知道,我要问的是理由??为什么sizeof(a)=7,strlen(a)=3; ??

我是初学者
2010-11-30 15:03
xzy199999
Rank: 4
等 级:业余侠客
帖 子:326
专家分:286
注 册:2010-11-19
收藏
得分:0 
回复 6楼 flyingcat
这位大哥解释的很详细,可是你的答案却根本错了,这道题strlen明明是5,不是3啊!

我是初学者
2010-11-30 16:47
xzy199999
Rank: 4
等 级:业余侠客
帖 子:326
专家分:286
注 册:2010-11-19
收藏
得分:0 
回复 10楼 xiaomarn
是的,\010是十进制的8,\032是十进制的26,那这样不是123826吗?不应该是6吗,为什么会是5?

我是初学者
2010-11-30 17:30
xzy199999
Rank: 4
等 级:业余侠客
帖 子:326
专家分:286
注 册:2010-11-19
收藏
得分:0 
回复 12楼 flyingcat
1,我调试过程中发现要是改为123\0100\032,就是6了, 这就是为什么呢?\0102不是64吗,应该是对应ascii64的那个字符才对啊,怎么就变成6了??
2,还有前面的123为什么不是对应的ascii码,后面8进制的就是对应的ascii码呢?
3,我把\010改为\078也不出错,还是返回6,这又是为什么呢?

我是初学者
2010-11-30 17:48
xzy199999
Rank: 4
等 级:业余侠客
帖 子:326
专家分:286
注 册:2010-11-19
收藏
得分:0 
回复 14楼 flyingcat
饿,么人解答了么?

我是初学者
2010-11-30 18:15
xzy199999
Rank: 4
等 级:业余侠客
帖 子:326
专家分:286
注 册:2010-11-19
收藏
得分:0 
回复 17楼 flyingcat
谢谢,不过我还是不懂如果是123\0100\032的话,为什么不是
\0100转为十进制的64,变成123+ascii(64)+ascii(32)呢?

我是初学者
2010-12-01 09:27
快速回复:sizeof,strlen的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016606 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved