|
网站首页
|
业界新闻
|
小组
|
威客
|
人才
|
下载频道
|
博客
|
代码贴
|
在线编程
|
编程论坛
|
登录
注册
短消息
我发表的主题
我参与的主题
我收藏的贴子
我上传的附件
我下过的附件
编辑个人资料
我的博客
用户控制面板
搜索
道具
恢复默认风格
碧海青天
秋意盎然
棕红预览
粉色回忆
蓝雅绿
紫色淡雅
青青河草
e点小镇
橘子红了
红红夜思
水晶紫色
雪花飘飘
新年快乐
风格
短消息
论坛展区
帮助
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 有个C语言方面的问题不明白。希望谁帮我一下哈!
我的收件箱(0)
欢迎加入我们,一同切磋技术
用户名:
密 码:
共有
419
人关注过本帖
标题:
有个C语言方面的问题不明白。希望谁帮我一下哈!
只看楼主
加入收藏
蓝天依笑
等 级:
论坛游民
帖 子:47
专家分:58
注 册:2010-4-16
结帖率:
100%
楼主
收藏
已结贴
√
问题点数:1 回复次数:3
有个C语言方面的问题不明白。希望谁帮我一下哈!
#include<stdio.h>
main()
{int a=0xffff;
printf("%d",a);
}
我想问一下,这个输出的为什么是-1.我能不懂原因。
搜索更多相关主题的帖子:
C语言
2010-04-16 11:50
举报帖子
使用道具
赠送鲜花
zhanfffmmm
等 级:
职业侠客
帖 子:238
专家分:343
注 册:2009-10-16
第
2
楼
收藏
得分:0
int 短整型的范围有限,你定义long int就行啦
2010-04-16 12:17
举报帖子
使用道具
赠送鲜花
lzhq01
等 级:
论坛游民
帖 子:16
专家分:34
注 册:2010-4-1
第
3
楼
收藏
得分:1
数组溢出。。int 范围为-32768—32767,而你定义的a=0xffff=65535,超出了int的范围
详见 谭浩强《C程序设计》第三版 44页,整型数据的溢出。。。
2010-04-16 12:28
举报帖子
使用道具
赠送鲜花
linjx0123
等 级:
贵宾
威 望:
14
帖 子:279
专家分:1362
注 册:2006-4-7
第
4
楼
收藏
得分:0
因为ffff是32个1,因为int是有符号的整数,所以负数用补码的形式存放,也就是左边第一个1表示负数,后面31个是取反加1,也就是-1;
要想表示成正数的话,定义成 unsigned int
2010-04-16 12:29
举报帖子
使用道具
赠送鲜花
4
1/1页
1
快速回复:
有个C语言方面的问题不明白。希望谁帮我一下哈!
数据加载中...
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.031724 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved