C语言新手常犯的错误-截断
截断往往发生在复制过程中
准确地说,是将占用字节数较多的变量赋值给占用字节数较少的变量时,如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语言新手常犯的错误-截断相关推荐
- python编程新手常犯的错误_初学者开发人员都会犯的7个Python错误
这篇文章主要介绍了七个初学者常犯的Python调试错误,并告诉大家如何去避免这些错误. 1.具有副作用的功能 由于Python不是像Haskell这样的纯函数式语言,因此会产生副作用. 严格来说,这不 ...
- python编程新手常犯的错误_Python程序员常犯的10个错误
BY- SENIOR SOFTWARE ENGINEER @TOPTAL About Python 关于Python Python is an interpreted, object-oriented ...
- C语言中常犯的错误(一)
程序出错有三大类:语法错误.逻辑错误和运行错误 对于语法错误,编译器会给出精确到行的提示:逻辑错误则需要在流程图的辅助下,重点关注留意花括号,进行判定:而运行错误则是指程序在接收到某些数据时因为处理不 ...
- 避坑指南:数据科学家新手常犯的13个错误(附工具、学习资源链接)
作者:Pranav Dar 翻译:和中华 校对:张玲 本文约6000字,建议阅读10+分钟. 本文是老司机给数据科学家新手的一些建议,希望每个致力于成为数据科学家的人少走弯路. 简介 你已经决定把数 ...
- Python 新手常犯错误
Python 新手常犯错误(第一部分) http://blog.jobbole.com/42706/ Python 新手常犯错误(第二部分) http://blog.jobbole.com/43826 ...
- 十个Python初学者常犯的错误
下面10个Python初学者常犯的错误,并不是真正的代码错误,代码照样可以运行,但是不够Pythonic,因为Python有自己的语言哲学,在代码的处理上有传统语言无法比拟的简洁性和便捷性. 1. ...
- java list top_Java程序员最常犯的错误盘点之Top 10
原标题:Java程序员最常犯的错误盘点之Top 10 人非圣贤,孰能无过.都说Java语言是一门简单的编程语言,基于C++演化而来,剔除了很多C++中的复杂特性,但这并不能保证Java程序员不会犯错. ...
- 微信小程序新手容易犯的错误_新手程序员的错误以及如何避免它们
微信小程序新手容易犯的错误 To become a Senior Java Developer, I've been learning Java for many years and still I' ...
- 《小乌龟投资智慧:如何在投资中以弱胜强》书中的精髓:认清投资中常犯的错误,开启智慧投资之路。
<小乌龟投资智慧:如何在投资中以弱胜强>书中的精髓:认清投资中常犯的错误,开启智慧投资之路. 如今,投资理财已经成为了一个绕不开的话题,我们一边想着通过投资赶超通货膨胀率,不要让自己辛苦攒 ...
最新文章
- 计算机机房双电源供电,超高效数据机房可靠性浅析——走进腾讯青浦云计算中心...
- 关于决策树,你一定要知道的知识点!(文末送书)
- Python 之 新手安装详解 、安装目录说明 及 修改pip默认包安装位置
- jvm classLoader 过程
- 跳跃表(Skip list)原理与java实现
- android打包工具多渠道批量打包,Android 快速渠道批量打包详解教程-美团多渠道打包方案...
- Kafka与ActiveMQ的区别与联系详解
- mysql 远程 更改
- java设置登录超时时间设置_session超时时间设置方法
- 中国城市统计年鉴下载
- 聊聊量子计算机那些事
- CC2420芯片手册核心知识点
- 快速渡河(贪心算法)
- useCallback包裹函数,但是使用到的外部变量一直是最开始的值
- TLC2543和mini2440通信的速率
- 项目管理-挣值分析方法学习总结
- Oracle体系结构之内存结构(SGA、PGA)
- transformer的简要解读(应该都能看懂)
- mac 移动硬盘装linux系统安装教程,移动硬盘上安装Ubuntu系统
- 【028】仿猫眼、淘票票的电影后台管理和售票系统系统(含后台管理)(含源码、数据库、运行教程)
热门文章
- 中国科技的家底是什么?
- 并行调用框架封装实战-completionService
- 杭电计算机学院吴迅冬,活动预告 | 叮~ 欢迎收看杭电Running Man
- flume系列之:处理flume 678M损毁文件
- Google 图片搜索算法
- C++学习第一天(初步认识-程序流的分支-循环-数据类型)
- 黑衣人---走出软件作坊:三五个人十来条枪 如何成为开发正规军(三十四)
- RSA大会2010信息安全国际论坛
- SOFAJRaft 在同程旅游中的实践
- python 实现文件的批量压缩为.zip格式+.zip格式文件的解析