小编kat*_*kat的帖子

for循环和迭代列表

这是一段代码,它给出了输出:0 1 2 2.3 3 3 3自从a[-1]访问列表中的数字3 以来,我原本期望输出.在线解释说" a[-1]每次迭代的变化值",但我不太明白如何或为什么.任何解释都会很棒!

a = [0, 1, 2, 3]
for a[-1] in a:
    print(a[-1])
Run Code Online (Sandbox Code Playgroud)

python indexing for-loop

22
推荐指数
2
解决办法
1492
查看次数

数组上的指针算术

当我运行下面的代码时,我的输出不是我所期望的.

我理解它的方式是ptr指向Str数组的第一个元素的地址.我认为ptr + 5应该导致+第五元素f.所以输出应该只显示f而不是两者fg.

它为什么显示fg?它与如何cout显示数组有关吗?

#include <iostream>
using namespace std;

int main()
{
    char *ptr;
    char Str[] = "abcdefg";

    ptr = Str;
    ptr += 5;

    cout << ptr;

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

预期产量: f

实际产量: fg

c++ arrays pointers

4
推荐指数
1
解决办法
181
查看次数

标签 统计

arrays ×1

c++ ×1

for-loop ×1

indexing ×1

pointers ×1

python ×1