我想理解以下代码的输出,它是如何产生输出的
-2 1 2 -4 3
该代码的输出为一个整数序列,其中每个整数代表输入序列中每个元素的绝对值,即 2 1 2 4 3。
int main()
{
int i, a[5] = {3, 1, 2, -2, -4};
int *p = a;
for(i = 0; i < 5; i++)
{
printf("%d ", *(p + *p));
p += *p;
}
return 0;
}