爱问知识人 爱问教育 医院库

c语言无符号长整形赋值问题,在线等,求解答!!!

首页

c语言无符号长整形赋值问题,在线等,求解答!!!

用的win-tc  3600*24应该等于86400, 但输出值却是20864  是哪儿出问题了呢? 请大侠指出问题所在,并希望能简单叙述下原理过程。本人菜鸟…… 以下源代码:   #include  void main() {     unsigned long int t;      t=3600*24;    ... 用的win-tc 
3600*24应该等于86400, 但输出值却是20864
是哪儿出问题了呢?
请大侠指出问题所在,并希望能简单叙述下原理过程。本人菜鸟……
以下源代码:
#include
void main()
{
unsigned long int t;
t=3600*24;
printf("%lu ",t);
getch();
} 展开 直接给变量赋值是可以输出的。
如:t=86400 输出的值就没错
应该说明unsigned long 也是占4个字节

提交回答

全部答案

    2018-08-02 02:01:56
  • 在TC下,一个整数默认情况下是两个字节的内存单元存放(VC一个整数默认情况下是四个字节)
    数的表示范围为:-32768 ~ 32767
    3600*24=86400=0x15180 已超出范围,实际赋给变量的值不是0x15180,而是0x5180=20864
    所以赋值的要写成:t = 3600 * 24L;(L表示长整形数)

    张***

    2018-08-02 02:01:56

类似问题

换一换
  • C/C++ 相关知识

  • 电脑网络技术
  • 电脑网络

相关推荐

正在加载...
最新资料 推荐信息 热点推荐
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200

热点检索

  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 177-196
返回
顶部
帮助 意见
反馈

确定举报此问题

举报原因(必选):