c语言程序设计 a b,用C语言编程时,a+=b 和 a=a+b 真的完全等价吗?
这个问题也是我在浏览网页的时候看到的,非常有意思,学编程这么久竟然从来没有真正思考过这类问题,相信 a+=b 和 a =
a+b大家也都有写过,那你有没有思考过这二者究竟是不是完全等价的呢?其实这个问题的难点就在a和b的数据类型上。
分两种情况:
1、对于同样类型的a,b来说
两个式子执行的结果确实没有什么区别。但是从编译的角度来看,a+=b;执行的时候效率高。
2、对于不同类型的a,b来说
不同类型的两个变量在进行运算的时候,我们经常说到的是类型的转换问题。这里,请记住一点:运算过程中,低精度的类型向高精度类型转换。
#include;
int main()
{
int b = 5;
char a = 3;
a += b;//编译通过
a = a + b;//编译出错
printf("%d", a);
}
在上面的代码中,如果使用+=,b会直接转换成 char,如果使用a+b,a首先转换成int,最后赋值的时候再转换成char。
因此,总的来说,a=a+b;和a+=b;并不是任何时候都等价,要分情况视之,原因就在数据类型转换这里,希望大家以后对这两者慎重使用。
免责声明:内容和图片源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。
c语言程序设计 a b,用C语言编程时,a+=b 和 a=a+b 真的完全等价吗?相关推荐
- 有n个学生选修了c语言程序设计这门课程,C语言程序设计报告学生选修课系统(18页)-原创力文档...
C 语 言 程 序 设 计 学校: 学院: 班级序号: 学号: :姓名 指导老师: C语言程序设计报告 一.C语言课程设计的目的: 高级语言课程设计是学习完<高级语言程序设计>课程后进行的 ...
- 兰州大学C语言程序设计课程作业,兰州大学C语言程序设计课程作业1附答案.doc...
兰州大学C语言程序设计课程作业1附答案.doc C 语言程序设计课程作业语言程序设计课程作业_A 历次成绩 完成时间 查看详情 1.0.0 2015-11-21 091531 2.0.0 2015-1 ...
- 20201022-成信大-C语言程序设计-20201学期《C语言程序设计B》C-trainingExercises02
文章目录 20201015-成信大-C语言程序设计-20201学期<C语言程序设计B>C-trainingExercises02 成信大-C语言程序设计上机作业-参考 **20201学期& ...
- 20201022-成信大-C语言程序设计-20201学期《C语言程序设计B》C-trainingExercises26
文章目录 20201022-成信大-C语言程序设计-20201学期<C语言程序设计B>C-trainingExercises26 P320 P321 P324 P325 20201022- ...
- c语言程序设计数组实验报告,c语言程序设计实验报告(数组).doc
c语言程序设计实验报告(数组).doc 下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览.不比对内容而直接下载带来的问题本站不予受理. 2.下载的文档,不会出现我们的网址水印. 3 ...
- 20201022-成信大-C语言程序设计-20201学期《C语言程序设计B》C-trainingExercises03
文章目录 20201015-成信大-C语言程序设计-20201学期<C语言程序设计B>C-trainingExercises03 P122 P708 P133 P135 P721 P735 ...
- c语言程序设计 李俊,深入浅出C语言程序设计(第2版)习题集和编程指导
本书是与清华大学出版社出版的<深入浅出C语言程序设计(第2版)>(书号: 9787302391791)一书相配套的辅助教材.书中对主教材各章的重点和难点进行总结,并对各章课后习题进行精讲, ...
- 20201104-成信大-C语言程序设计-20201学期《C语言程序设计B》C-trainingExercises07
文章目录 20201022-成信大-C语言程序设计-20201学期<C语言程序设计B>C-trainingExercises07 P702 P754 P112 P793 P744 2020 ...
- C语言程序设计知识必备pdf,c语言程序设计复习知识总结.pdf
c语言程序设计复习知识总结 C 语言程序设计复习知识总结 孙亚飞 第一章软件工程概述及程序设计基础 1."冯-诺依曼"计算机 "存储程序原理" 一条计算机指令完 ...
- 视频教程-2020新版C语言程序设计零基础入门小白自学编程-C/C++
2020新版C语言程序设计零基础入门小白自学编程 7年的开发架构经验,曾就职于国内一线互联网公司,开发工程师,现在是某创业公司技术负责人, 擅长语言有node/java/python,专注于服务端研发 ...
最新文章
- 【Sql Server】DateBase-SQL安全
- 如何划分155MSDH带宽
- [LeetCode]题解(python):153-Find Minimum in Rotated Sorted Array
- 小猫咪小狗狗也有智能「手表」了,可监测健康,识别情绪,还防乱跑|CES 2022...
- MySQL创建索引(CREATE INDEX)
- python写一个自动登录脚本_Python 脚本登录交换机实现自动配置备份
- python class用法_python原类、类的创建过程与方法
- 微软协助谷歌开发ARM平台Chrome浏览器
- 调整手机titlebar与app的titlebar相衔接
- IE 9 beta 下载地址
- HTML5+CSS大作业——清新春暖花开个人博客网站(6页)
- win7安装IIS后如何远程访问IIS
- Bit Miracle Jpegv2.1.1117
- vue项目之UI插件:Element-UI的基本使用
- 场景二:刮刮卡,大转盘等抽奖算法
- Android基础篇-DrawerLayout 实现侧滑
- python sklearn metrics,在Python中sklearn.metrics.mean_squared_error越大越好(否定)?
- 中国传媒发展十大趋势
- 哭了,谁还会心疼?累了,谁让我依靠?
- 【JY】橡胶支座精细化模拟与有限元分析注意要点
热门文章
- opencv运行出现错误
- FPGA _Verilog HDL_计数器实现数字钟60秒计数设计实验
- Spark数据本地性
- 例子---PHP实现网页计数器
- html 给照片添加圆角属性,CSS3新增属性(背景图、边框背景、圆角)
- cdn.cdzk_页面“www.cdzkdc.com”HTTP状态检测结果- 站长工具
- jsp怎么调用servlet_Servlet简述
- Accelerated C++ Chapter4.1 用函数来计算学生成绩
- python编程一球从100米_Python练习题 015:一颗自由落地的球
- 离散数学及其应用怎么样_有名气的冲击式移动破碎站效果怎么样?