截断往往发生在复制过程中

准确地说,是将占用字节数较多的变量赋值给占用字节数较少的变量时,如j将long(16个字节)赋值给char(1个字节)时,这时候long类型的变量只将最低的一位赋给了char类型的变量,而高位数据全部被“截断”:

 long x=988777;char y='o';printf("%c\t%ld\n",y,y);

此时分别以字符类型和长整型类型输出变量y,得到小写字母o和小写字母o的ASCII码:111

o       111

而当我们将长整型的变量x的值赋给y后,使用如下代码输出:

y=x;printf("%c\t%ld\n",y,y);system("pause");

得到:

i       105

将x=988777转化为二进制,得:0b11110001011001101001(二进制数字开头为0b)
将0b11110001011001101001赋值给字符型变量y时,由于y的空间太小,只能容纳1个字节(byte),也就是8位(bit),所以只有低位的八位被0b01101001存储进了y中,剩余部分被“截断”。
0b01101001转为十进制,等于105,105是小写字母i的ASCII码,所以在printf函数中,以字符型输出得到小写字母i,以长整型输出得到ASCII码105.

C语言新手常犯的错误-截断相关推荐

  1. python编程新手常犯的错误_初学者开发人员都会犯的7个Python错误

    这篇文章主要介绍了七个初学者常犯的Python调试错误,并告诉大家如何去避免这些错误. 1.具有副作用的功能 由于Python不是像Haskell这样的纯函数式语言,因此会产生副作用. 严格来说,这不 ...

  2. python编程新手常犯的错误_Python程序员常犯的10个错误

    BY- SENIOR SOFTWARE ENGINEER @TOPTAL About Python 关于Python Python is an interpreted, object-oriented ...

  3. C语言中常犯的错误(一)

    程序出错有三大类:语法错误.逻辑错误和运行错误 对于语法错误,编译器会给出精确到行的提示:逻辑错误则需要在流程图的辅助下,重点关注留意花括号,进行判定:而运行错误则是指程序在接收到某些数据时因为处理不 ...

  4. 避坑指南:数据科学家新手常犯的13个错误(附工具、学习资源链接)

    作者:Pranav  Dar 翻译:和中华 校对:张玲 本文约6000字,建议阅读10+分钟. 本文是老司机给数据科学家新手的一些建议,希望每个致力于成为数据科学家的人少走弯路. 简介 你已经决定把数 ...

  5. Python 新手常犯错误

    Python 新手常犯错误(第一部分) http://blog.jobbole.com/42706/ Python 新手常犯错误(第二部分) http://blog.jobbole.com/43826 ...

  6. 十个Python初学者常犯的错误

    下面10个Python初学者常犯的错误,并不是真正的代码错误,代码照样可以运行,但是不够Pythonic,因为Python有自己的语言哲学,在代码的处理上有传统语言无法比拟的简洁性和便捷性. 1.   ...

  7. java list top_Java程序员最常犯的错误盘点之Top 10

    原标题:Java程序员最常犯的错误盘点之Top 10 人非圣贤,孰能无过.都说Java语言是一门简单的编程语言,基于C++演化而来,剔除了很多C++中的复杂特性,但这并不能保证Java程序员不会犯错. ...

  8. 微信小程序新手容易犯的错误_新手程序员的错误以及如何避免它们

    微信小程序新手容易犯的错误 To become a Senior Java Developer, I've been learning Java for many years and still I' ...

  9. 《小乌龟投资智慧:如何在投资中以弱胜强》书中的精髓:认清投资中常犯的错误,开启智慧投资之路。

    <小乌龟投资智慧:如何在投资中以弱胜强>书中的精髓:认清投资中常犯的错误,开启智慧投资之路. 如今,投资理财已经成为了一个绕不开的话题,我们一边想着通过投资赶超通货膨胀率,不要让自己辛苦攒 ...

最新文章

  1. 计算机机房双电源供电,超高效数据机房可靠性浅析——走进腾讯青浦云计算中心...
  2. 关于决策树,你一定要知道的知识点!(文末送书)
  3. Python 之 新手安装详解 、安装目录说明 及 修改pip默认包安装位置
  4. jvm classLoader 过程
  5. 跳跃表(Skip list)原理与java实现
  6. android打包工具多渠道批量打包,Android 快速渠道批量打包详解教程-美团多渠道打包方案...
  7. Kafka与ActiveMQ的区别与联系详解
  8. mysql 远程 更改
  9. java设置登录超时时间设置_session超时时间设置方法
  10. 中国城市统计年鉴下载
  11. 聊聊量子计算机那些事
  12. CC2420芯片手册核心知识点
  13. 快速渡河(贪心算法)
  14. useCallback包裹函数,但是使用到的外部变量一直是最开始的值
  15. TLC2543和mini2440通信的速率
  16. 项目管理-挣值分析方法学习总结
  17. Oracle体系结构之内存结构(SGA、PGA)
  18. transformer的简要解读(应该都能看懂)
  19. mac 移动硬盘装linux系统安装教程,移动硬盘上安装Ubuntu系统
  20. 【028】仿猫眼、淘票票的电影后台管理和售票系统系统(含后台管理)(含源码、数据库、运行教程)

热门文章

  1. 中国科技的家底是什么?
  2. 并行调用框架封装实战-completionService
  3. 杭电计算机学院吴迅冬,活动预告 | 叮~ 欢迎收看杭电Running Man
  4. flume系列之:处理flume 678M损毁文件
  5. Google 图片搜索算法
  6. C++学习第一天(初步认识-程序流的分支-循环-数据类型)
  7. 黑衣人---走出软件作坊:三五个人十来条枪 如何成为开发正规军(三十四)
  8. RSA大会2010信息安全国际论坛
  9. SOFAJRaft 在同程旅游中的实践
  10. python 实现文件的批量压缩为.zip格式+.zip格式文件的解析