函数为什么没有被调用?

#include <stdio.h>
int main(){
	int exchange(int *p,int n);
	printf("请你输入10个整数:");
	int a[10];
	int *p;
	p=a;
	int i;
	for(i=0;i<10;i++){
		scanf("%d",p+i);
	}
	exchange(p,10);//这个语句没有执行? 
	//printf("最大数与第一个数对换后的结果为:\n");
	//for(i=0;i<10;i++){
	//	printf("%d",*(p+i));
	//}
} 
exchange(int *m,int n){
	int i,j,max;
	max=*m;
	for(i=1;i<n;i++){
		if(*(m+i)>max){
			max=*(m+i);
			j=i;
		}
	}
	int t;
	t=max;
	max=*(m+j);
	*(m+j)=t;
	printf("对换后的数为:");
	for(i=0;i<n;i++){
		printf("%d",*(m+i));
	}
}

 

在 main函数上一行加入void exchange(int *m,int n);或者将exchange函数移到main函数的上面