📅  最后修改于: 2023-12-03 15:39:55.495000             🧑  作者: Mango
给出下面的程序段:
#define P 5
int main() {
int a[P] = {1, 2, 3, 4, 5}, i;
int *p=&a[0], *q=&a[P-1];
for (i = 0; i < P/2; i++) {
int temp = *p;
*p = *q;
*q = temp;
p++;
q--;
}
return 0;
}
代码的输出结果是什么?
该程序可将数组 a 中的元素反转。反转的过程如下:
因此,程序的输出结果为数组 a 中元素值为 {5, 4, 3, 2, 1}。
输出结果:
{5, 4, 3, 2, 1}
代码片段:
#define P 5
int main() {
int a[P] = {1, 2, 3, 4, 5}, i;
int *p=&a[0], *q=&a[P-1];
for (i = 0; i < P/2; i++) {
int temp = *p;
*p = *q;
*q = temp;
p++;
q--;
}
// Output reversed array
printf("{");
for (i = 0; i < P; i++) {
printf("%d", a[i]);
if (i != P - 1) {
printf(", ");
}
}
printf("}\n");
return 0;
}