亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為什么最后用程序實現的時候輸出的i還是為101呢?不應該是1嗎?

為什么最后用程序實現的時候輸出的i還是為101呢?不應該是1嗎?

C++
ibeautiful 2023-04-20 15:15:44
在一個for循環里面, int i=1 for(;i<=10;i++) { ……………… } cout<<i<<endl; i應該算是for循環里面的變量變化才對啊,為什么最后用程序實現的時候輸出的i還是為101呢?不是應該是1嗎?
查看完整描述

3 回答

?
慕容3067478

TA貢獻1773條經驗 獲得超3個贊

因為i在循環體之外定義了,for里面有個i++,所以會這樣。
如果是for
(int
i=1;i<=10;i++),那么循環體之外的i就不存在了。


查看完整回答
反對 回復 2023-04-23
?
炎炎設計

TA貢獻1808條經驗 獲得超4個贊

你把它定義為全局變量了,從分配內存來看,在給a實例化得時候,分配了一個內存空間,在i自增的時候,它會把它的得到的新值存入到內存空間里,取代了原來的值,直到程序結束,釋放內存。

查看完整回答
反對 回復 2023-04-23
?
Smart貓小萌

TA貢獻1911條經驗 獲得超7個贊

在循環體內定義的變量才是這個循環里面的局部變量,在循環結束是會被銷毀的。
如果在循環體外定義的變量,在循環結束時不會被銷毀,其中存儲的數值會保持最后一圈循環的狀態。
如果在循環體外和循環體內重復定義同一個變量名的變量,在循環結束時被銷毀的是循環體內定義的變量。

查看完整回答
反對 回復 2023-04-23
  • 3 回答
  • 0 關注
  • 175 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號