下面就前加和后加进行比较将你的程序中的gf和gf1当做i来说明:
i = 0时,i++是先引用i的然后再变量本身自己再加1,所以i++这个表达式的值为0,而i的值为1。
++i是变量本身先自己加1然后再被引用,即++i的值为1,i的值也为1。
i = 1时,i++表达式的值为1,i的值为2。
++i表达式的值为2,i的值为2。
i = 2时,i++表达式的值为2,i的值为3。
++i表达式的值为3,i的值为3。
。。。
依次类推,++i和i++当然不一样,而你的for语句中每次i++或++i后比较的都是i<10;因为i的值在两个for循环中都相等(每次变化后),而你这时输出的正好是变量i的值,所一样,如果输出i++或++i肯定不一样。
你比较的并不是i++<10或者是++i<10。
你将你的程序中的gf<10换成gf++<10,将gf1<10换成++gf1<10,这时你输出表达式gf++或++gf1的值结
果肯定不一样。
其实++i和i++很简单,先加和后加后的表达式的值和变量的分别是多少,再看程序引用的是表达式的还是
变量的值就不会乱了。。 |