有些不明白为什么这个编译过不去呢?

#include<stdio.h>
struct c{int x,y;};
void b(struct c c1,struct c c2)
{
    struct c s,t;
    s.x=c1.x+c1.y;
    s.y=2*c1.x;
    t.x=c2.x*c2.y;
    t.y=2*c2.x;
    printf("%d %d %d %d",s.x,s.y,t.x,t.y);
    return ;
}
int main()
{
    struct c p1={3,2},p2={1,2};
    void b(p1,p2);
    return 0;
}

    void b(p1,p2);将这行的void去掉试试呢?