| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1169 人关注过本帖
标题:请问一个sizeof的问题
只看楼主 加入收藏
xiaomarn
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:5
帖 子:348
专家分:2026
注 册:2009-3-18
收藏
得分:0 
'a'没有类型,被看成了数值97(ascii),而vc默认整数类型为int,其实等于sizeof(int)=4
2010-12-10 11:31
venus85
Rank: 6Rank: 6
等 级:侠之大者
帖 子:159
专家分:477
注 册:2010-11-27
收藏
得分:10 
以下是引用kangmin在2010-12-9 21:59:27的发言:

printf("%d",sizeof 'a');
我运行的结果是4----------为什么??
printf("%d",sizeof "a");
我运行的结果是2—————为什么??
麻烦大大们解释下
在线等
我运行的结果是1,2
这个好像个编译器有关,
我对这个结果是这样理解的,
sizeof ‘a’相当于sizeof(char)应为'a'是一个字符。
sizeof "a","a"被当成是是字符串(字符数组),而
一个数组所占的字节数和他定义有关,"a"这个数组的
缺省大小是1字节,再加上结束标志,一共就是两字节。
所以sizeof是2
2010-12-10 12:29
kangmin
Rank: 1
等 级:新手上路
帖 子:23
专家分:7
注 册:2009-9-21
收藏
得分:0 
回复 9楼 落拓
我用VC6.0 DEV-CPP编译过,结果都是4和2
2010-12-10 20:58
kangmin
Rank: 1
等 级:新手上路
帖 子:23
专家分:7
注 册:2009-9-21
收藏
得分:0 
回复 12楼 venus85
请问你用的是什么编译器?
2010-12-10 21:00
kangmin
Rank: 1
等 级:新手上路
帖 子:23
专家分:7
注 册:2009-9-21
收藏
得分:0 
回复 8楼 vandychan
您可以试一下
2010-12-10 21:04
langzilangyu
Rank: 2
等 级:论坛游民
帖 子:8
专家分:10
注 册:2010-11-13
收藏
得分:0 
我的也是1,2的说
2010-12-10 21:20
落拓
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:58
专家分:173
注 册:2010-9-29
收藏
得分:0 
回复 13楼 kangmin
刚才又试了一下,发现一个问题,用VC6.0 选择C语言,运行的结果是 4,2。但用 C++语言时就是 1,2。 很奇怪!
2010-12-10 21:50
落叶深蓝色
Rank: 8Rank: 8
来 自:山东
等 级:蝙蝠侠
帖 子:319
专家分:807
注 册:2010-12-8
收藏
得分:0 
单双引号的问题吧
2010-12-10 21:58
Struggle丶
Rank: 1
等 级:新手上路
帖 子:8
专家分:5
注 册:2010-12-11
收藏
得分:0 
字符串用的是双引号,单字符用的是单引号,这点的区别吧~~
2010-12-11 17:45
kangmin
Rank: 1
等 级:新手上路
帖 子:23
专家分:7
注 册:2009-9-21
收藏
得分:0 
谢谢各位了
尤其是落拓和venus85
2010-12-12 18:18
快速回复:请问一个sizeof的问题
数据加载中...
 
   



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

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