标题:新手求教 有关int c='30'问题
只看楼主
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
得分:0 
'30' 这种字符是什么意思,标准里是未明确。
虽然是一类合法字符,不过确实很难想像这种字符有什么实际意义。
2012-08-14 22:54
zzfcnc
Rank: 1
等 级:新手上路
帖 子:3
专家分:1
注 册:2012-7-16
得分:0 
回复 21楼 pangding
不同的编程环境给出不同的结果,在WINTC里的结果是12339,在C-Free里结果是13104。原因在16楼上给出的说明。
2012-08-14 23:06
Bob2012
Rank: 2
来 自:临潼
等 级:论坛游民
帖 子:16
专家分:23
注 册:2012-8-15
得分:0 
等答案

艺多不压身 爱你们就想日后驾御你们!
2012-08-15 01:29
回首依依
Rank: 7Rank: 7Rank: 7
来 自:苏州
等 级:黑侠
威 望:1
帖 子:193
专家分:524
注 册:2011-12-3
得分:0 
看《C陷阱与缺陷》第1.5节,详细解释。。。
2012-08-15 09:08
stophin
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:3
帖 子:227
专家分:618
注 册:2010-3-26
得分:0 
回复 10楼 baiweiwei
应该不是地址,我本来猜想是的,但我用下面的例子打出来
int  c='30';
int *p;
p=(int *)c;
printf("\n%d %p\n",c,p);
结果是
13104 00003330
3330就是13104的十六进制,地址不可能这么小吧?如果我取
p=&c;
得到的是
13104 0012FF7C
这样的地址才是正常的
这样的问题很好,这个地址进去看一下
http://topic.
再看看这个代码
int  c='30';
int d=0;
int *p;
p=&c;
printf("\n%d %p\n",c,p);
printf("\n%d\n",'abc');
d='a'*256*256+'b'*256+'c';
printf("\n%d\n",d);

[ 本帖最后由 stophin 于 2012-8-15 10:26 编辑 ]
2012-08-15 10:23
netlin
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:24
帖 子:544
专家分:4308
注 册:2012-4-9
得分:0 
要了解C语言的编译原理。

做自己喜欢的事!
2012-08-15 22:18



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-379486-1-1.html




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

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