Language: C

int main(){
	int n,i;
	scanf("%d",&n);
	int A[n];
	for(i=0;i<n;i++){
		scanf("%d",&A[i]);
	}
	insertionSort(A[i],n);
	return 0;
}

void insertionSort(int numbers[array_size],int array_size){
	int i,j;
	for(i=1;i<array_size;i++){
		j = i;
		while((j>0)&&(numbers[j-1]>numbers[j])){
			swap(&numbers[j-1],&numbers[j]);
			j--;
		}
	}
	for(i=1;i<array_size-1;i++){
		printf("%d ",A[i]);
	}
	printf("%d\n",A[array_size]);
}

void swap(int *p_from,int *p_to){
	int tmp;
	tmp=*p_from;
	*p_from=*p_to;
 	*p_to=tmp;
}

Compiler output:
main.c: In function 'main':
main.c:3:9: error: implicit declaration of function 'scanf' [-Wimplicit-function-declaration]
    3 |         scanf("%d",&n);
      |         ^~~~~
main.c:1:1: note: include '<stdio.h>' or provide a declaration of 'scanf'
  +++ |+#include <stdio.h>
    1 | int main(){
main.c:3:9: warning: incompatible implicit declaration of built-in function 'scanf' [-Wbuiltin-declaration-mismatch]
    3 |         scanf("%d",&n);
      |         ^~~~~
main.c:3:9: note: include '<stdio.h>' or provide a declaration of 'scanf'
main.c:8:9: error: implicit declaration of function 'insertionSort' [-Wimplicit-function-declaration]
    8 |         insertionSort(A[i],n);
      |         ^~~~~~~~~~~~~
main.c: At top level:
main.c:12:32: error: 'array_size' undeclared here (not in a function)
   12 | void insertionSort(int numbers[array_size],int array_size){
      |                                ^~~~~~~~~~
main.c:12:6: warning: conflicting types for 'insertionSort'; have 'void(<type-error>,  int)'
   12 | void insertionSort(int numbers[array_size],int array_size){
      |      ^~~~~~~~~~~~~
main.c:8:9: note: previous implicit declaration of 'insertionSort' with type 'void(<type-error>,  int)'
    8 |         insertionSort(A[i],n);
      |         ^~~~~~~~~~~~~
main.c: In function 'insertionSort':
main.c:17:25: error: implicit declaration of function 'swap' [-Wimplicit-function-declaration]
   17 |                         swap(&numbers[j-1],&numbers[j]);
      |                         ^~~~
main.c:22:17: error: implicit declaration of function 'printf' [-Wimplicit-function-declaration]
   22 |                 printf("%d ",A[i]);
      |                 ^~~~~~
main.c:22:17: note: include '<stdio.h>' or provide a declaration of 'printf'
main.c:22:17: warning: incompatible implicit declaration of built-in function 'printf' [-Wbuiltin-declaration-mismatch]
main.c:22:17: note: include '<stdio.h>' or provide a declaration of 'printf'
main.c:22:30: error: 'A' undeclared (first use in this function)
   22 |                 printf("%d ",A[i]);
      |                              ^
main.c:22:30: note: each undeclared identifier is reported only once for each function it appears in
main.c:24:9: warning: incompatible implicit declaration of built-in function 'printf' [-Wbuiltin-declaration-mismatch]
   24 |         printf("%d\n",A[array_size]);
      |         ^~~~~~
main.c:24:9: note: include '<stdio.h>' or provide a declaration of 'printf'
main.c: At top level:
main.c:27:6: warning: conflicting types for 'swap'; have 'void(int *, int *)'
   27 | void swap(int *p_from,int *p_to){
      |      ^~~~
main.c:17:25: note: previous implicit declaration of 'swap' with type 'void(int *, int *)'
   17 |                         swap(&numbers[j-1],&numbers[j]);
      |                         ^~~~