为什么教小学生x=x+1是错误的?
对程序员而言,类似x=x+1的代码是再常见不过的了,几乎所有常见的编程语言教程在开始初级教程的时候,都会拿这个问题的计算来做示例,比如对于C#,会像下面这样的代码: int x= 0 ; x =x+ 1 ; 也可以这样写: x+= 1 ; 也可以像C语言那样,这样写更简单: int x= 0 ; x ++; ++x; 其它编程语言都大同小异了,程序员朋友们都知道上面的代码无非就是将变量x的值增加了1,或者说为变量x赋了一个比它原来大1的新数值。但是,如果你打算把这行代码告诉一个小学生,甚至一个初中生,以此想说明coding是多么简单就错了,如果教他学编程,那就是大错,为什么要这样说呢? 为了这个问题,我将x=x+1这个式子写给几个小学生看,他们的第一反应是“这个 等式 怎么这样写啊?”,“这个式子写的不对,两边不相等!”。我说这不是等式,这表示将变量x的值变大一个数,也就是将变量x的值加1后再赋值给变量x...后面的话没法继续进行下去了,小学生的神情是这样的: 幸好我是在跟中国小朋友交谈,如果我给几个美国小朋友说x=x+1,说不定会有家长控告我“损害了小孩正常的思维逻辑”。(PS:1968年,美国一位母亲投诉老师教会了她孩子字母“O”,状告幼儿园破坏了孩子的想象力,结果幼儿园败诉。)于是我顺着小学生的思路,将这个式子修改成下面这样: y = x + 1 我问这样写你们可以明白吗