这是一段代码,它给出了输出: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) 当我运行下面的代码时,我的输出不是我所期望的.
我理解它的方式是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