我遇到了以下代码问题。在Mac上运行此代码时,输出为12。但是,在Linux命令行上,输出为22。任何人都可以解释为什么会发生这种情况吗?
struct point
{
int x,y;
};
void foo(struct point p[])
{
printf("%d %d", p->x, ++p->x);
}
int main()
{
struct point p1[ ] = {1, 2, 3, 4};
foo(p1);
return 0;
}