CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  C语言

帮忙看看,为什么下面这个程序在vc和bc,tc中编译的结果会不一样呢

楼主ppgg1979(枝枝)2003-12-03 15:45:17 在 C/C++ / C语言 提问

在vc中编译运行是正确的,但是在bc,tc中就不对了。  
  #include   <stdio.h>  
  main()  
  {  
  unsigned   long   val,result;  
  val=result=0;  
  val=~(1   <<   29);  
  printf("val=0x%lx\n",val);  
  result=(0xbec00000   &   (~(1   <<   29)));  
  printf("result=0x%lx\n",result);  
  }  
   
  问题点数:20、回复次数:4Top

1 楼arfi()回复于 2003-12-03 16:02:03 得分 10

我想是Tc中把数字1作为int型来处理了。  
  在1前面加上(unsigned   long)结果就正确了Top

2 楼arfi()回复于 2003-12-03 16:38:47 得分 5

在数字后面加上l或者L也可。Top

3 楼antijpn(antijpn)回复于 2003-12-03 17:54:35 得分 5

应该是TC的数据长度问题,TC的long好像也只有16bit,所以1<<29这样的操作之后数据已经溢出了  
   
  我在BCC5.5   Command   Line   Complier下面编译的,没有任何问题,VC++7.1也没有任何问题  
   
  你试试看把数据长度减小一点Top

4 楼ppgg1979(枝枝)回复于 2003-12-03 18:16:26 得分 0

明白了,多谢二位Top

相关问题

  • 这么简单一句,为什么TC可以编译,VC不能编译???
  • tc的编译
  • 有谁用vc或tc做过编译器?万望赐教!!!!!
  • 请问如何在vc中编译用TC写的程序?
  • VC,TC,GCC编译生成的程序的区别?
  • 用TC 3编译能通过,但是用VC++编译就通不过,为什么?
  • VC++编译的LIB不能给BC++Builder用吗?
  • BC++Builder如何使用VC++编译的LIB和DLL??
  • VC编译问题
  • vc++编译问题???

关键词

  • 编译
  • tc
  • bc
  • val
  • 中编译
  • result

得分解答快速导航

  • 帖主:ppgg1979
  • arfi
  • arfi
  • antijpn

相关链接

  • C/C++ Blog
  • C/C++类图书
  • C/C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo