Re: [請問] C for loop 有辦法同時宣告和 assign 嗎?

看板ask (問板)作者 (可愛的小松鼠)時間2月前 (2024/09/04 02:49), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/2 (看更多)
for loop的變數 確實只是 local的,出了for loop就看不到。 這點你可以在for loop外面去嘗試印出 idx來驗證 (Compiler會回報error) max 在 for loop 內部確實是 5566,也印的出來。 但是,理由同上,這個local的max 的生命週期只在for loop而已。 出了 for loop 之後,scope只看的到 第一行的int max = 0; max印出來的值 自然也是0,合理。 ※ 引述《bluesapphire (Blue Sapphire)》之銘言: : 各位大大好 : 我想問一下 : 以下的 code, 我發現 max 打印出來會是 0 (而不是我腦海預期的 5566) : 請問一下,我要怎麼在 for loop 那邊,同時宣告 int idx, 以及 assign 值給 max 呢? : (從實驗結果推估,for loop 的 max 因為前面的 int idx, 導致 compiler 認成 for : 裡面的 local variable 是 for loop 裡面自己的) : int max = 0; : int idxCnt = 10; : int arr[10]; : for (int idx = 0; max = 5566; idx < idxCnt; idx++) { ^ 這邊應該要放, 才對。 : arr[idx] = idx; : } : cout << max << endl; : actual output: 0 : wanted output: 5566 (dont know how to modify the above code) -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.37.214.231 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/ask/M.1725389391.A.110.html
文章代碼(AID): #1crrfF4G (ask)
文章代碼(AID): #1crrfF4G (ask)