| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 530 人关注过本帖
标题:TC中int和long的十六进制输出问题
只看楼主 加入收藏
cordier
Rank: 2
等 级:论坛游民
威 望:1
帖 子:449
专家分:14
注 册:2006-2-9
结帖率:60%
收藏
已结贴  问题点数:20 回复次数:2 
TC中int和long的十六进制输出问题
#include <stdio.h>
#include <conio.h>

int main()
{
 int a=256;
 long b=65536;
 printf("%d(0x%X)\n",a,a);
 printf("%ld(0x%X)\n",b,b);
 getch();
}

TC下得到的结果:
256(0X100)
65536(0X0)

C++下面得到
256(0X100)
65536(0X10000)

C++下面是对的,但是我想问一下TC下面那个结怎么回事.好像长整形前两字节没有输出.
搜索更多相关主题的帖子: 十六进制 int long 输出 
2010-11-25 10:01
xiaomarn
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:5
帖 子:348
专家分:2026
注 册:2009-3-18
收藏
得分:20 
程序代码:
#include <stdio.h>
#include <conio.h>

int
main(void)
{
      int a=256;
      long b=65536;
      printf("%d(0x%X)\n",a,a);
      printf("%ld(0x%lX)\n",b,b);     /*括号里面也加个l*/
      getch();
      return 0;
}
未加l,按整形打印,打印了低地址的内容,其内容为0


[ 本帖最后由 xiaomarn 于 2010-11-25 10:11 编辑 ]
2010-11-25 10:09
jianghong_02
Rank: 6Rank: 6
等 级:侠之大者
威 望:1
帖 子:143
专家分:476
注 册:2010-10-2
收藏
得分:0 
同意楼上说法,我试了
2010-11-25 10:14
快速回复:TC中int和long的十六进制输出问题
数据加载中...
 
   



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

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