```

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <stdio.h>
#include <stdlib.h>

void flip_values(int *loc_a, int *loc_b) {
	int val_a = *(loc_a);
	*(loc_a) = *(loc_b);
	*(loc_b) = val_a;
}

void print_array(int *array, int size) {
	int i;
	for(i = 0; i < size; i++) {
		printf("%2d ", array[i]);
	}
	printf("\n");
}

int main(void) {
	int array[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
	print_array(array, 10);

    ...
}

Why does print_array() need a size parameter?

How do I swap the positions of the 1 and 10 in the variable array inside main()?