第1个回答 2015-09-18
i++; 在当前使用变量时,i值不变,用完再加1,对于for循环中的那个i++仅表示进行加1这个计算,实际达到执行完这个语句后i值加1的效果;
++i; 在当前使用变量时,i值预先做加1,对于for循环中的i++表示要给i加1,这里替换成++i之后效果是一样的,都是执行完此句以后i值加1的效果。
对于表达式中的i++和++i可以这么理解,举例说明:
if ( i++ ) {}相当于if ( i ) {} i++;
if ( ++i ) {}相当于i++; if ( i ) {}
如果自己对表达式中使用这两种写法搞不清楚,可以避免这样的写法
如果别人写的表达式,可以改造一下再读,
比如: i=0; a=(i++)+50; 等同于i=0; a=i+50; i++;
而:i=0; a=(++i)+50; 等同于i=0; i++; a=i+50;本回答被提问者采纳