|
网站首页
|
业界新闻
|
小组
|
威客
|
人才
|
下载频道
|
博客
|
代码贴
|
在线编程
|
编程论坛
|
登录
注册
短消息
我发表的主题
我参与的主题
我收藏的贴子
我上传的附件
我下过的附件
编辑个人资料
我的博客
用户控制面板
搜索
道具
恢复默认风格
碧海青天
秋意盎然
棕红预览
粉色回忆
蓝雅绿
紫色淡雅
青青河草
e点小镇
橘子红了
红红夜思
水晶紫色
雪花飘飘
新年快乐
风格
短消息
论坛展区
帮助
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 大家帮我看一下,为什么结果是这样啊?
我的收件箱(0)
欢迎加入我们,一同切磋技术
用户名:
密 码:
共有
495
人关注过本帖
标题:
大家帮我看一下,为什么结果是这样啊?
只看楼主
加入收藏
jack123son
等 级:
新手上路
帖 子:30
专家分:5
注 册:2011-10-8
结帖率:
30%
楼主
收藏
已结贴
√
问题点数:10 回复次数:5
大家帮我看一下,为什么结果是这样啊?
#include"stdio.h"
main()
{
int x,y,z;
x=24;
y=024;
z=0x24;
printf("x=%d,y=%d,z=%d",x,y,z);
}
可是结果却输出x=24,y=20,z=36
我真的搞不懂为什么会这样?而且像int的数据怎么会用0x24这种数据类型呢?
搜索更多相关主题的帖子:
include
而且
2011-12-04 20:14
举报帖子
使用道具
赠送鲜花
xp0213
来 自:湖北武汉
等 级:
黑侠
威 望:
1
帖 子:222
专家分:524
注 册:2011-10-26
第
2
楼
收藏
得分:2
x=24
表示的是十进制数,在C语言中,整数都是这样表示的。
y=O24 O 不是零,是大写字母O,放在整数前面表示的是八进制数。
Z=OX24 OX 表示的是十六进制数。
在程序输出中,结果自动转换为十进制数。
希望对你有用。
2011-12-04 20:28
举报帖子
使用道具
赠送鲜花
laznrbfe
等 级:
青峰侠
帖 子:482
专家分:1599
注 册:2011-5-22
第
3
楼
收藏
得分:2
回复 2楼 xp0213
y=
024
;
//
是0不是大写的O
2011-12-04 20:46
举报帖子
使用道具
赠送鲜花
embed_xuel
等 级:
贵宾
威 望:
58
帖 子:3845
专家分:11385
注 册:2011-9-13
第
4
楼
收藏
得分:2
回复 2楼 xp0213
y=024 0是零,不是大写字母O,放在整数前面表示的是八进制数。Z=0x24 0x 表示的是十六进制数。在程序输出中,结果自动转换为十进制数。
总有那身价贱的人给作业贴回复完整的代码
2011-12-04 20:49
举报帖子
使用道具
赠送鲜花
icqw1986
等 级:
新手上路
帖 子:18
专家分:8
注 册:2011-11-23
第
5
楼
收藏
得分:2
你已经开始就定义了x,y,z为整形,后面赋值不是什么类型的数据,都会自动转换为整形参加运算。
2011-12-04 21:03
举报帖子
使用道具
赠送鲜花
share32
等 级:
黑侠
帖 子:214
专家分:663
注 册:2011-12-1
第
6
楼
收藏
得分:2
看一下基础知识。
int类型 24是10进制的, 前面加个零就是8进制的,前面是0x就是16进制的。
%d是10进制输出, %o是8进制, %x是16进制输出。
2011-12-04 21:11
举报帖子
使用道具
赠送鲜花
6
1/1页
1
快速回复:
大家帮我看一下,为什么结果是这样啊?
数据加载中...
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.032252 second(s), 8 queries.
Copyright©2004-2025, BC-CN.NET, All Rights Reserved