谁知道++ postfix和后缀的来源和原因。我知道即使在C中它们也可用。但是谁发明了它们;甚至可能在其他语言中?
答案 0 :(得分:7)
引用Wikipedia article on the B programming language:
“B还引入了递增和递减运算符(
++
和--
);它们的前缀或后缀位置确定值是在操作数更改之前还是之后采用。”< / em>的
我认为重复整篇维基百科文章没有意义。请到那里了解更多详情。
顺便说一下,虽然B语言可能引入这些特定形式用于递增和递减操作,但B也不太可能发明操作本身。我怀疑即使是早期的CPU也有专门的递增和递减操作(在更一般的加法和减法操作旁边)。
答案 1 :(得分:7)
来自Dennis M. Ritchie,The Development of the C Language,HOPL II,1993:
例如,B引入了广义赋值运算符,使用x = + y将y添加到x。这个符号来自Algol 68 [Wijngaarden 75]通过McIlroy,他已将其纳入他的TMG版本。 (在B和早期的C中,操作符拼写= +而不是+ =;这个错误,在1976年修复,是由一种诱人的简单方法处理B的词法分析器中的第一个形式。)
汤普森通过发明增加或减少的++和 - 运算符更进了一步;它们的前缀或后缀位置确定更改是在注意操作数的值之前还是之后发生。