编程语言中,为什么 a = a + 1

一个从来没有接触过编程的人如果看到 a = a + 1 这样的算式,一定会感到奇怪。a 怎么能等于 a + 1 呢?这就像 1 等于 2 一样不可思议。

其实,这种代码的书写方式是由早期编程语言逐渐演变而来的。对于一个变量一般有三种操作,分别是初始化、值的重新分配与比较。举例来说, 「int a = 1」是初始化,「a = b」 是重新分配,「a == b」是比较。

在早期编程语言中,一般这三个过程的操作符是不同的。比如说 LISP 中,let 用来初始化,set 用来分配值,equal 用来比较。

BCPL 开始用 := 进行赋值和值的重新分配,用 = 来进行比较操作。后来 B 语言的创造者采用更为简单的 = 符号进行初始化和赋值操作,创建了 == 符号进行比较操作。其后的 C 语言及新产生的语言沿袭了这一用法。

Frida Bredesen 2017-07-19 07-40-27
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Lua 5.1 参考手册 by Roberto Ierusalimschy, Luiz Henrique de F...
    苏黎九歌阅读 14,201评论 0 38
  • 《裕语言》速成开发手册3.0 官方用户交流:iApp开发交流(1) 239547050iApp开发交流(2) 10...
    叶染柒丶阅读 28,651评论 5 20
  • 第2章 基本语法 2.1 概述 基本句法和变量 语句 JavaScript程序的执行单位为行(line),也就是一...
    悟名先生阅读 4,409评论 0 13
  • 一场说走就走的旅行, 只能在纸上, 豪气冲天, 光芒万丈! 那是一份安慰, 身不由己, 心已在远方。 能不能有种力...
    淡看浮华mlw阅读 373评论 1 6
  • 公司例会,多少人听到这句话就烦的。算上我一个,为什么会这样呢?大家为什么都不喜欢公司例会?每个人都有自己的原...
    叶小北_阅读 257评论 0 0

友情链接更多精彩内容