满意答案

judycute

推荐于 2017.09.05

采纳率:48%    等级:12

已帮助:6014人

不同平台, int 和long int 长度可能不一样,

这时候在X86平台下,你的scanf("%d",&b)输入long int就会出错,

这又和字节序有关,x86系列CPU采用little endian方式存储数据,简单的说就是数据的高字节在低地址,低字节在高地址.

将&b开始的存储空间从低字节->高字节依次记为b0 b1 b2 b3 b4 b5 b6 b7

当b 为int 则scanf("%d",&b)将数据存储在b0 b1 b2 b3地址中,

低字节存放在b3,如你输入的23就存在b3中,而b0=b1=b2=0.

当b为long int时,如果是64位CPU,则long int长度为8字节,这时实际数据的低字节应该存放在b7中,最高字节存放在b0中.可是你的scanf语句的参数确将b当成整数类型,输入的数据低字节不是存放在b7只是存储在b3,结果本来应该是b7=23 b0=b1=...b6 = 0,可是你的错误导致了b3=23,b0=b1=b2=0, b4,b5,b6,b7随机数.

所以当b为long int时,改成scanf("%ld",&b)就对了.

50分享举报

c语言long和 int,C语言 int 和long int 问题相关推荐

  1. c语言map函数k v都是int,Go语言sync.Map(在并发环境中使用的map)

    Go语言中的 map 在并发情况下,只读是线程安全的,同时读写是线程不安全的. 下面来看下并发情况下读写 map 时会出现的问题,代码如下: // 创建一个int到int的映射 m := make(m ...

  2. C语言怎么定义001为int,C语言基础-01-基本数据类型

    C语言的数据类型大致可以分为下图中的几类: 一.变量 跟其他语言一样,C语言中用变量来存储计算过程使用的值,任何变量都必须先定义类型再使用.为什么一定要先定义呢?因为变量的类型决定了变量占用的存储空间 ...

  3. c语言int转换成float,int怎么转化为float 将 int型变量n转换成float型变量的方法是...

    请问C语言中如何将int转换为float 将 int型变量n转换成float型变量的方法是 A float n B (float )n C float( n) D( float) ( n)不懂小编的人 ...

  4. missing ‘;‘ before ‘int‘ C语言

    missing ';' before 'int' C语言 1.一般是出错行的前面一行没有加 ; 导致.如下: int var1 //此处没有加; int var2; 会提示这样的错误! 2.结构体未创 ...

  5. c语言中整形变量,C语言基本数据类型:整型(int)用法详解

    1.整型int C语言提供了很多整数类型(整型),这些整型的区别在于它们的取值范围的大小,以及是否可以为负.int是整型之一,一般被称为整型.以后,在不产生歧义的情况下,我们把整数类型和int都称为整 ...

  6. c语言短整型变量字符,C语言入门 — 整型 char,short,int,long

    一.c 语言变量,有整型变量,浮点型变量,字符变量,布尔型变量. 1.整型变量位数,以下基于32位的操作系统: (1个字节等于8bits)点击查看二进制 长整型(long),短整形(short),整型 ...

  7. c语言的数据类型有什么 long int,C语言的三种整型数据类型:int、short_int和long_int...

    int数据类型的位数为16位,short int数据类型的位数也是16位.而long int的位数为32位,可用来存储比较大的整数. short int 和 long int可以缩写为short 和 ...

  8. c语言程序设计 北交,北交《C语言程序设计(专)》在线作业一 设有定义 int n 0pamp n qamp p 则下列选项中正确的赋值语句是.docx-得力文库...

    北交<C语言程序设计(专)>在线作业一 设有定义 int n 0 p amp n q amp p 则下列选项中正确的赋值语句是.docx C C语言程序设计语言程序设计 专专 1 1 单选 ...

  9. int length c语言,第07天C语言(06):数组练习2

    #pragma mark 数组练习2 ###pragma mark 概念 ###pragma mark 代码 #include int arrayMax (int num[],int length); ...

  10. [置顶] C语言中各种数据类型的长度 sizeof char, short, int, long, long long

    这些数据类型的sizeof具体长度依赖于编译器和操作系统(32-bit or 64-bit) 1: 首先,参见c99标准 标准中没有定义这些数据类型的长度,而是定义了这些数据类型能表达的大小范围的最小 ...

最新文章

  1. 专家谈半导体产业前景 并购热还会继续
  2. 华为交换机常用命令介绍
  3. 管中窥豹,物联网之我见
  4. 面试题4:二维数组中的查找
  5. 钉钉宜搭入选Forrester《中国低代码平台市场分析报告》
  6. js对象序列化为json字符串
  7. 应用容器公共免费部署平台
  8. 使用计算机教学的意义,信息技术对教学的意义
  9. [BZOJ 3260] 跳
  10. 师范生计算机期末考试题目,2015年深圳宝安区计算机教师招聘考试试题[师范生发布]无答案...
  11. html超链接的设置,HTML超链接怎么设置
  12. c语言编写矩阵逆置乘法,200个c语言实例的源码
  13. mysql报表服务器配置_Power Bi报表服务器安装及数据库配置方法
  14. 互联网晚报 | 7月14日 星期四 |微博将整治用谐音字变体字传播不良信息;恒丰银行回应破产传闻;消息称字节正大量招聘芯片工程师...
  15. 如何修改anaconda的文件目录_Anaconda安装的常见错误和python的基础知识
  16. UE4 Take Recorder的使用
  17. 教你给大量视频快速调整色调的方法
  18. tcpdump抓包IP地址,导入wireshark分析?又名《~来抓包吧/ 向着前辈の步伐、Start / ~从零开始の抓包全过程流水账实录/// 成功吧~实验/ ~》
  19. JavaScript变量提升(Hoisting)详解
  20. Python Nan与NaT

热门文章

  1. 福建师范计算机应用基础考试内容,福建师范大学16年3月期课程考试《计算机应用基础》试题答案...
  2. 57个Google Tool产品,你用了几个?
  3. RK3399Pro/AR9201对比
  4. java水表识别_【实战】基于OpenCV的水表字符识别(OCR)
  5. 电子白板的开源项目【whiteboard】
  6. wx.showLoading不显示
  7. C语言避坑之%m.nf的理解
  8. JAVA抽奖系统设计任务书_JAVA用户抽奖系统设计(幸运大转盘作业)
  9. java中如何写一个注解
  10. 我的前半生之人物关系图