Re: [请问] C for loop 有办法同时宣告和 assign 吗?

楼主: cuteSquirrel (松鼠)   2024-09-04 02:49:49
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)

Links booklink

Contact Us: admin [ a t ] ucptt.com