我在理解此代码时遇到问题,尤其是“ vet-1”部分。
这是什么意思?它返回数组的哪一项?谢谢

#include <stdlib>
#include <iostream>

using namespace std;

void change( int m, int n[7]);

int main(){
int vet[] = {1,2,3,4,5};
change(vet[4],vet-1);
change(0,&vet[4]);
int i=0;
for (i=0;i<5;i++) cout << vet[i];
return 0;
}

void change( int m, int n[7]) {
(*(n+m))--; m++; n--;
}

最佳答案

vet - 1试图引用指向vet[0]之前元素的指针。

实际上,这样做的行为是不确定的。因此,整个程序是不确定的。

这里什么都不懂;继续!

关于c++ - 不明白array-1的意思,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50738156/

10-11 20:54