请问for循环中写i++与++i有啥区别吗 for循环中写i++与++i有啥区别吗

\u5728for\u5faa\u73af\u4e2d++i\u8ddfi++\u6709\u533a\u522b\u5417\uff1f

\u4e3b\u8981\u6709\u4ee5\u4e0b\u4e09\u4e2a\u533a\u522b\uff1a
1\u3001++i\u662f\u5148\u6539\u53d8i\u7684\u503c\u5373\u52a01\u540e\u518d\u4f7f\u7528i\u7684\u503c\uff1b\u800ci++\u662f\u5148\u4f7f\u7528i\u7684\u503c\u5728\u6539\u53d8\u5b83\u7684\u503c\u5373\u52a0\u3002
2\u3001for\u5faa\u73af\u5185\u90e8\u4ec5\u5f62\u5f0f\u4e0d\u540c\uff1a\u5f53i++\u5faa\u73af\u548c++i\u5faa\u73af\u5728for\u5faa\u73af\u5185\u90e8\uff0c\u867d\u7136\u5f62\u5f0f\u4e0a\u660e\u663e\u4e0d\u540c\uff0c\u4f46\u8f93\u51fa\u7ed3\u679c\u53ef\u4ee5\u4e00\u6837\u3002\u5982\u4e0b\u56fe\u6240\u793a\uff1a
for\uff08i++\uff09\u5faa\u73af\uff1a

\u8f93\u51fa\u7ed3\u679c\uff1a

for\uff08++i\uff09\u5faa\u73af\uff1a

\u8f93\u51fa\u7ed3\u679c\uff1a

3\u3001print\uff08\uff09\u8f93\u51fa\u51fd\u6570\u5185\uff0c\u4e0d\u4ec5\u5f62\u5f0f\u4e0d\u540c\u4e14\u8f93\u51fa\u7ed3\u679c\u4e5f\u4e0d\u540c\uff1ai++\u548c++i\uff0c\u4e8c\u8005\u5728\u5f62\u5f0f\u4e0a\u660e\u663e\u4e0d\u540c\uff0c\u4e14\u8f93\u51fa\u7ed3\u679c\u4e5f\u4e0d\u540c\uff0c\u8f93\u51fa\u503c\u5206\u522b\u4e3a1\u548c2\u3002\u5982\u4e0b\u56fe\u6240\u793a\uff1a
for\uff08i++\uff09\u5faa\u73af\uff1a

\u8f93\u51fa\u7ed3\u679c\uff1a

for\uff08++i\uff09\u5faa\u73af\uff1a

\u8f93\u51fa\u7ed3\u679c\uff1a

\u53c2\u8003\u8d44\u6599\uff1a\u767e\u5ea6\u767e\u79d1-for\u5faa\u73af\u4e2d\u5173\u4e8ei++\u4e0e++i\u7684\u9610\u91ca

\u6548\u7387\uff1ai++ \u76f8\u6bd4++i\u6548\u7387\u8981\u4f4e\u90a3\u4e48\u4e00\u70b9\uff0c\u5bf9\u7a0b\u5e8f\u7684\u6027\u80fd\u5f71\u54cd\u51e0\u4e4e\u6ca1\u6709\u5427
\u5176\u4ed6\uff1a\u4f5c\u7528\u5927\u81f4\u76f8\u540c\u8fd0\u7b97\u52a01

For循环中i++与++i的主要区别如下:

1、引用顺序不同。

前者是:先引用,后增加,,后者是:先增加,后引用,++i是先改变i的值,而i++是先使用i值然后再改变它的值。

例如:i的原值是5,则对于 j=++i,j的值为6;对于 j=i++,j的值为5,然后j的值变为6。

2、输出结果不同。

它们两个表达形式不同,其输出结果也是不一样的,i++输出结果是1,而++i输出结果是2。

扩展资料:

"++"是C和C++里的自增运算符。其中:++i是使用i之前先使i加一。i++是使用i之后再加一。如果不能理解,那么可以理解为:++i是先计算,再操作,i++是先操作,再计算。其中:++i和i++是谁在前先取谁,但加一优先运算并赋给原值,取的值再参与其他运算。

++i 和 i++的结果是一样的,都要等代码块执行完毕才能执行语句,但是性能是不同的。在大量数据的时候++i的性能要比i++的性能好原因:i++由于是在使用当前值之后再+1,所以需要一个临时的变量来转存。而++i则是在直接+1,省去了对内存的操作的环节,相对而言能够提高性能。

参考资料来源:百度百科-++





如果只是一条单独语句,没区别,比方说for(i=0;i<9;i++)与for(i=0;i<9;++i)都表示每次f0r循环结束时i+1后判断i是否<9再进入下一次循环。或者是循环内部的i++;及++i;也同理。
但如果不是单独语句,就有区别:比如n=++i;和n=i++;n赋的值就不同,前者n的值为i,i再+1,后者n的值为+1后的i值。再有把一个数组的值赋到另一个数组中时,y[j++]=x[i];与y[++j]=x[i];也不同y数组开始储存的起点不同。

i++和++i在for循环中执行的次数是相同的,所以写那种都可以

说反了吧,
n = ++ i 的意思是把 i 做一次自增运算之后的值赋给 n
n = i ++ 的意思是先赋值,再做自增运算

++i是先改变i的值即加1后再使用i的值

而i++是先使用i的值在改变它的值即加

  • 璇烽棶for寰幆涓啓i++涓++i鏈夊暐鍖哄埆鍚
    绛旓細For寰幆涓璱++涓++i鐨勪富瑕佸尯鍒涓嬶細1銆佸紩鐢ㄩ『搴忎笉鍚屻傚墠鑰呮槸锛氬厛寮曠敤锛屽悗澧炲姞锛岋紝鍚庤呮槸锛氬厛澧炲姞锛屽悗寮曠敤锛++i鏄厛鏀瑰彉i鐨勫硷紝鑰宨++鏄厛浣跨敤i鍊肩劧鍚庡啀鏀瑰彉瀹冪殑鍊笺備緥濡傦細i鐨勫師鍊兼槸5锛屽垯瀵逛簬 j=++i锛宩鐨勫间负6锛涘浜 j=i++锛宩鐨勫间负5锛岀劧鍚巎鐨勫煎彉涓6銆2銆佽緭鍑虹粨鏋滀笉鍚屻傚畠浠袱涓〃杈...
  • C# for 寰幆鎬庝箞鐢,鏉′欢鎬庝箞鍐:i++,i--
    绛旓細浣跨敤 for 寰幆锛屽彲浠ュ弽澶嶈繍琛岃鍙ユ垨璇彞鍧楋紝鐩村埌鎸囧畾鐨勮〃杈惧紡璁$畻涓 false銆 杩欑寰幆鏄敤浜庡惊鐜闂暟缁勪互鍙婃偍浜嬪厛鐭ラ亾鐨勫叾浠栧簲鐢ㄧ▼搴忓灏戞甯屾湜姝ゅ惊鐜備笅闈㈢殑绀轰緥涓璱鐨勫艰鍐欏叆鎺у埗鍙般傚苟鎸 1 閫掑寰幆鐨勬瘡娆¤凯浠f椂銆備笅闈㈡槸i++ 浠g爜锛歝lass ForLoopTest { static void Main() { for ...
  • 鍦for寰幆涓++i璺焛++鏈夊尯鍒悧?
    绛旓細褰撶劧鏄湁鍖哄埆锛氫竴涓槸鍏堝姞涓鍐嶅惊鍧忥紝鍙︿竴涓槸鍏寰幆鍐嶅姞涓銆傚叿浣撶殑锛氬鏋滃彧鏄竴鏉″崟鐙鍙ワ紝娌″尯鍒紝姣旀柟璇磃or(i=0;i<9;i++)涓巉or(i=0;i<9;++i)閮借〃绀烘瘡娆0r寰幆缁撴潫鏃秈+1鍚庡垽鏂璱鏄惁<9鍐嶈繘鍏ヤ笅涓娆″惊鐜傛垨鑰呮槸寰幆鍐呴儴鐨刬++;鍙++i;涔熷悓鐞嗐備絾濡傛灉涓嶆槸鍗曠嫭璇彞锛屽氨鏈夊尯鍒細姣斿n...
  • for璇彞涓殑i浠h〃浠涔?
    绛旓細C璇█涓細for(i锛0锛沬锛3锛沬锛嬶紜)for锛坖锛0锛沯锛3锛沯锛嬶紜锛夋槸涓涓弻閲寰幆銆俧or(i锛0锛沬锛3锛沬锛嬶紜){ for锛坖锛0锛沯锛3锛沯锛嬶紜锛墋 鍏朵腑for锛坖锛0锛沯锛3锛沯锛嬶紜锛夋槸for(i锛0锛沬锛3锛沬锛嬶紜)鐨勫唴宓屽惊鐜 鍏堝惊鐜涓涓fori=1j=1,2,3i=2j=1,2,3i=3j=1,2,3涓鍏3*3鎵...
  • C璇█ for(i--;i--;i--)
    绛旓細for(--i;i>=0;i--)鐨勬剰鎬濆氨鏄,鍏堟墽琛屼竴娆--i,鐒跺悗鍒ゅ畾i鏄惁澶т簬绛変簬闆,鑻ユ槸i澶т簬绛変簬闆,鍒欐墽琛屽惊鐜綋,鐒跺悗鍐嶆墽琛宨--,鑻灏忎簬闆,鍒欓鍑for寰幆 鑷虫,姝ゆ寰幆缁撴潫,寮濮嬩笅涓娆″惊鐜,缁х画鍒ゅ畾i鏄惁澶т簬绛変簬闆,浠ユ绫绘帹,涓嶆柇寰幆,鍗冲湪i涓嶅皬浜庨浂鐨勬椂鍊,寰幆閮芥槸涓嶆柇缁х画涓嬪幓鐨.i--,--i鐨...
  • 璇烽棶杩欎袱涓for寰幆 涓 ++i涓i++鐨勪綔鐢ㄤ竴鏍蜂箞?
    绛旓細绀轰緥for寰幆浠g爜涓++i涓巌++涓昏鏈変互涓嬪尯鍒細1銆佺敤娉曚笉鍚岋細++i鏄厛鏀瑰彉i鐨勫煎嵆鍔1鍚庡啀浣跨敤i鐨勫硷紱鑰宨++鏄厛浣跨敤i鐨勫煎湪鏀瑰彉瀹冪殑鍊煎嵆鍔犮2銆乫or寰幆鍐呴儴浠呭舰寮忎笉鍚岋細褰搃++寰幆鍜++i寰幆鍦╢or寰幆鍐呴儴锛岃櫧鐒跺舰寮忎笂鏄庢樉涓嶅悓锛屼絾杈撳嚭缁撴灉鍙互涓鏍枫
  • for鍑芥暟涓璱鏄粈涔堟剰鎬
    绛旓細for寰幆鏄竴绉嶅父鐢ㄧ殑寰幆璇彞锛屽湪寰幆杩囩▼涓紝绋嬪簭浼氬娆℃墽琛屽悓鏍风殑姝ラ銆傚叾涓璱鏄惊鐜彉閲忥紝瀹冪殑浣滅敤鏄帶鍒跺惊鐜殑娆℃暟銆俰鍙互鐞嗚В涓轰竴涓鏁板櫒锛屽畠鐨勫煎湪姣忔寰幆涓閮戒細鏀瑰彉锛屼粠鑰屽奖鍝嶅惊鐜殑鎵ц銆備负鏂逛究绋嬪簭鍛樺寰幆鐨勬帶鍒讹紝i閫氬父琚垵濮嬪寲涓轰竴涓垵濮嬪硷紝姣斿0銆傜▼搴忓湪鎵ц寰幆鐨勮繃绋嬩腑锛屾瘡娆℃墽琛岀粨鏉燂紝i...
  • for寰幆涓璱++涓++i鐨勫尯鍒
    绛旓細for寰幆涓鐨i++鍜++i鏄湁鍖哄埆鐨勶紝鍖哄埆濡備笅锛歩++鏄厛寮曠敤i鐨勫煎啀鑷姞锛岃++i鏄厛璁﹊鑷姞鍐嶅紩鐢╥鐨勫笺傛湰寰幆涓璱++鐨勮緭鍑哄间负0 1 2 3 4 5 6 7 8 9锛岃++i鐨勮緭鍑哄间负1 2 3 4 5 6 7 8 9锛屼絾涓ょ绠楁硶鎵ц瀹屾瘯涔嬪悗锛宨鐨勫奸兘涓10.涓鑸疄闄呭簲鐢ㄤ腑锛屽厛鍔犲湪寮曠敤鏄惧緱鏇撮珮鏁堛俧or寰幆...
  • for寰幆i++涓++i鐨勫尯鍒槸鍓嶅姞鍔犳槸鍏堟墽琛屽惊鐜綋鍐呯殑鍐呭,鍐嶅姞鍔犲悧...
    绛旓細鍖哄埆锛氫竴銆佷粠浠g爜鎵ц鐨勬晥鏋滄潵鐪嬶紝瀹冧滑骞舵棤浠讳綍鍖哄埆锛屼絾鏄畠浠墍鐢熸垚鐨勪唬鐮佹槸鏈夋湁鎵涓嶅悓鐨勩1銆i++锛氬厛寮曠敤鍚庡鍔狅紱鎰忔濇槸锛氬厛鍦╥鎵鍦ㄧ殑琛ㄨ揪寮忎腑浣跨敤i鐨勫綋鍓嶅硷紝鍚庤i鍔1銆2銆++i锛氬厛澧炲姞鍚庡紩鐢紱鎰忔濇槸锛氳i鍏堝姞1锛岀劧鍚庡湪i鎵鍦ㄧ殑琛ㄨ揪寮忎腑浣跨敤i鐨勬柊鍊笺備簩銆乮++鐢变簬鏄湪浣跨敤褰撳墠鍊间箣鍚庡啀+1锛...
  • for寰幆璇彞涓 i涓巌 鍦ㄨ繍绠楁椂鐨勫尯鍒櫨搴︿笂璇 i涓巌 鍦╢or鏉′欢寰幆涓鏃犲尯 ...
    绛旓細浣犵殑閭d釜鍙橀噺锛屽埌搴曟槸i锛岃繕鏄痡 鍛锛焒or锛坕=0;i<10; i++锛夊湪杩欎釜 for 寰幆閲锛宨 鍙兘鏄 0锛1锛2锛3锛4锛5锛6锛7锛8锛9 鍥犱负鍒 i=10 鐨勬椂鍊欙紝绋嬪簭鍘绘煡 i<10锛岃繖涓笉婊¤冻锛屾墍浠ュ氨璺冲嚭鏉ヤ簡銆
  • 扩展阅读:为什么不建议用循环泵 ... for循环流程图 ... 在for循环里i++和++i ... for循环计算1+2+3+4+ 100 ... i++与++i的区别 ... java中i++与++i的区别 ... c语言for循环中i++和++i ... js for循环1加到100的和 ... 为什么不建议在for循环中使用 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网