为什么exchange函数显示的是非法定义
#include<stdio.h>void main()
{
int a[10];char str[10];
int *p1=a;char *p2=str;
int i;
void exchange(int *p1,char *p2);
printf("please enter interger number and name:");
for(i=0;i<=9;i++)
{ scanf("%d",p1++); //输入名字
}
for(i=0;i<=9;i++)
{ scanf("%s",p2++); //输入学号
if(*(a+i)<*(a+i+1))
exchange(p1,p2);
}
for(p1=a;p1<=a+10;p1++)
{ printf("%d",*p1);
} printf("%s",p2);
void exchange(int *p1,char *p2) //学号从小到大排列,名字跟着一起变
{
int temp;char s;
temp=*p1;
*p1=*(p1+1);
*(p1+1)=temp;
s=*p2;
*p2=*(p2+1);
*(p2+1)=s;
}