| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 525 人关注过本帖
标题:[求助]小菜发问~高手进来帮下
只看楼主 加入收藏
错的人
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2005-10-25
收藏
 问题点数:0 回复次数:7 
[求助]小菜发问~高手进来帮下
main()

{unsigned int a=65535;

printf("a=%d",a);

}

结果为:

a=-1

为什么结果是-1?unsigned int 的最大值不恰好是65535吗?明显没有超出范围啊?

还有就是我在win2000下为什么运行写好的代码看不到结果?
搜索更多相关主题的帖子: 小菜 
2005-10-30 13:13
错的人
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2005-10-25
收藏
得分:0 
我qq20711179
2005-10-30 13:23
Knocker
Rank: 8Rank: 8
等 级:贵宾
威 望:47
帖 子:10454
专家分:603
注 册:2004-6-1
收藏
得分:0 
printf("a=%u",a);

九洲方除百尺冰,映秀又遭蛮牛耕。汽笛嘶鸣国旗半,哀伤尽处是重生。     -老K
治国就是治吏。礼义廉耻,国之四维。四维不张,国之不国。   -毛泽东
2005-10-30 13:26
shmilysw
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2005-7-11
收藏
得分:0 

你用的格式输出符不对 %d 输出有符号的整数 %u式输出无符号的整数
在计算机中数字都是用补码表示的
无符号的数65535 用补码表示为 1 111 1111
若改为由符号的 侧第一位是符号位 在对补码求补即时原码
1 000 0001 表示出来即为 -1

2005-10-30 13:28
冰☆snow
Rank: 1
等 级:新手上路
帖 子:40
专家分:0
注 册:2005-10-30
收藏
得分:0 

但是在我的电脑上,
#include<stdio.h>

void main()

{
unsigned int a=65535;

printf("a=%d",a);

}
的输出是正确的哟。
呵呵,晕~~~~~~~~~~~~


耐人寻味~~!
2005-10-31 10:26
错的人
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2005-10-25
收藏
得分:0 

谢谢了~~~

我是看书上的写的程序,不至于作者写错了吧?用%u,事实好象确实这样~

2005-10-31 12:57
错的人
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2005-10-25
收藏
得分:0 
还有个问题~我输入完程序,语句也没错,怎么运行它确看不到运行的窗口呢?
2005-10-31 13:02
错的人
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2005-10-25
收藏
得分:0 
在win2000里要用什么版本的TC呢?
2005-10-31 13:04
快速回复:[求助]小菜发问~高手进来帮下
数据加载中...
 
   



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

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