最近开始读c++primer 发现书中的for循环都是这么写的 for(int i = 0;i != 100;++i) 那个!= 和 ++i 不明白

为什么要写成这个样子,而不是i<100 i++

这样会报错的,说i没有定义,因为你i的定义在for循环中,所以只能在for中使用i变量,如果想在整个程序中都使用,请在循环外定义。
刚才在vc6.0中测试了,确实没有报错,但是i变量在出了for后就已经销毁了,这个是vc6.0的问题,在vc8中会报错。
作用域是在for后面大括号之间。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-09-23
++i 前置自加,加1后返回i的值。 i++为后置自加,先返回值,再加1.
i != 100 当i自加到100时,循环终止。( !=为不等比较,双目运算)
i<100 i++ 也一样能达到效果。
第2个回答  2011-09-23
i<100和i != 100在这个语言环境下执行的结果是一样的。不解释了,至于i++和++i要说明一下,i++是指在这个语句中(分号结束之前)先用i的值,然后i在+1,而++i指先把i+1,在使用这个值(就是i+1) ,比如int i=2 ;cout<<++i;结果就是3,int i= 2 ;cout<<i++结果就是2,但是i已经不是2了,如果在int i= 2 ;cout<<i++后面加上一句cout<<i,这里是3
第3个回答  2011-09-23
!= 表示不等于,是循环的继续条件,
你说的其实也可以。写法不同而已,风格不同
第4个回答  2011-09-23
您好
!=是一个逻辑判断符号
就是不等于
i!=100 是一个表达式,表达式会有一个值 如果成立返回true or else return false
!=的执行速度比<快 仅此而已
++i的消耗也比i++少 效率高
++i会返回一个自身的引用
而i++是返回一个临时的值,然后再给自身自增
故++i可作左值 而后增不行