这段代码自定义函数的调用哪里存在问题,为什么运行后无法实现逆序输出
见注释,供参考:
#include <stdio.h>
void fun(int a[])
{
for (int i = 0, j = 4; i != j && i < j; i++, j--)
{
int temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
int main(void)
{
int a[5];
printf("input:");
for (int i = 0; i < 5; i++)
{
scanf("%d", &a[i]); // 改成 &a[i]
}
fun(a);
printf("逆序后: ");
for (int i = 0; i < 5; i++)
{
printf("%d ", a[i]);
}
}
逆序输出,数组下标从最大开始,逐渐减小到0