Re: [請問] C for loop 有辦法同時宣告和 assign 嗎?
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
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
ask 近期熱門文章
PTT職涯區 即時熱門文章