这个问题也是我在浏览网页的时候看到的,非常有意思,学编程这么久竟然从来没有真正思考过这类问题,相信 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 真的完全等价吗?相关推荐

  1. 有n个学生选修了c语言程序设计这门课程,C语言程序设计报告学生选修课系统(18页)-原创力文档...

    C 语 言 程 序 设 计 学校: 学院: 班级序号: 学号: :姓名 指导老师: C语言程序设计报告 一.C语言课程设计的目的: 高级语言课程设计是学习完<高级语言程序设计>课程后进行的 ...

  2. 兰州大学C语言程序设计课程作业,兰州大学C语言程序设计课程作业1附答案.doc...

    兰州大学C语言程序设计课程作业1附答案.doc C 语言程序设计课程作业语言程序设计课程作业_A 历次成绩 完成时间 查看详情 1.0.0 2015-11-21 091531 2.0.0 2015-1 ...

  3. 20201022-成信大-C语言程序设计-20201学期《C语言程序设计B》C-trainingExercises02

    文章目录 20201015-成信大-C语言程序设计-20201学期<C语言程序设计B>C-trainingExercises02 成信大-C语言程序设计上机作业-参考 **20201学期& ...

  4. 20201022-成信大-C语言程序设计-20201学期《C语言程序设计B》C-trainingExercises26

    文章目录 20201022-成信大-C语言程序设计-20201学期<C语言程序设计B>C-trainingExercises26 P320 P321 P324 P325 20201022- ...

  5. c语言程序设计数组实验报告,c语言程序设计实验报告(数组).doc

    c语言程序设计实验报告(数组).doc 下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览.不比对内容而直接下载带来的问题本站不予受理. 2.下载的文档,不会出现我们的网址水印. 3 ...

  6. 20201022-成信大-C语言程序设计-20201学期《C语言程序设计B》C-trainingExercises03

    文章目录 20201015-成信大-C语言程序设计-20201学期<C语言程序设计B>C-trainingExercises03 P122 P708 P133 P135 P721 P735 ...

  7. c语言程序设计 李俊,深入浅出C语言程序设计(第2版)习题集和编程指导

    本书是与清华大学出版社出版的<深入浅出C语言程序设计(第2版)>(书号: 9787302391791)一书相配套的辅助教材.书中对主教材各章的重点和难点进行总结,并对各章课后习题进行精讲, ...

  8. 20201104-成信大-C语言程序设计-20201学期《C语言程序设计B》C-trainingExercises07

    文章目录 20201022-成信大-C语言程序设计-20201学期<C语言程序设计B>C-trainingExercises07 P702 P754 P112 P793 P744 2020 ...

  9. C语言程序设计知识必备pdf,c语言程序设计复习知识总结.pdf

    c语言程序设计复习知识总结 C 语言程序设计复习知识总结 孙亚飞 第一章软件工程概述及程序设计基础 1."冯-诺依曼"计算机 "存储程序原理" 一条计算机指令完 ...

  10. 视频教程-2020新版C语言程序设计零基础入门小白自学编程-C/C++

    2020新版C语言程序设计零基础入门小白自学编程 7年的开发架构经验,曾就职于国内一线互联网公司,开发工程师,现在是某创业公司技术负责人, 擅长语言有node/java/python,专注于服务端研发 ...

最新文章

  1. 【Sql Server】DateBase-SQL安全
  2. 如何划分155MSDH带宽
  3. [LeetCode]题解(python):153-Find Minimum in Rotated Sorted Array
  4. 小猫咪小狗狗也有智能「手表」了,可监测健康,识别情绪,还防乱跑|CES 2022...
  5. MySQL创建索引(CREATE INDEX)
  6. python写一个自动登录脚本_Python 脚本登录交换机实现自动配置备份
  7. python class用法_python原类、类的创建过程与方法
  8. 微软协助谷歌开发ARM平台Chrome浏览器
  9. 调整手机titlebar与app的titlebar相衔接
  10. IE 9 beta 下载地址
  11. HTML5+CSS大作业——清新春暖花开个人博客网站(6页)
  12. win7安装IIS后如何远程访问IIS
  13. Bit Miracle Jpegv2.1.1117
  14. vue项目之UI插件:Element-UI的基本使用
  15. 场景二:刮刮卡,大转盘等抽奖算法
  16. Android基础篇-DrawerLayout 实现侧滑
  17. python sklearn metrics,在Python中sklearn.metrics.mean_squared_error越大越好(否定)?
  18. 中国传媒发展十大趋势
  19. 哭了,谁还会心疼?累了,谁让我依靠?
  20. 【JY】橡胶支座精细化模拟与有限元分析注意要点

热门文章

  1. opencv运行出现错误
  2. FPGA _Verilog HDL_计数器实现数字钟60秒计数设计实验
  3. Spark数据本地性
  4. 例子---PHP实现网页计数器
  5. html 给照片添加圆角属性,CSS3新增属性(背景图、边框背景、圆角)
  6. cdn.cdzk_页面“www.cdzkdc.com”HTTP状态检测结果- 站长工具
  7. jsp怎么调用servlet_Servlet简述
  8. Accelerated C++ Chapter4.1 用函数来计算学生成绩
  9. python编程一球从100米_Python练习题 015:一颗自由落地的球
  10. 离散数学及其应用怎么样_有名气的冲击式移动破碎站效果怎么样?