Uso devc++.Ho riprovato mi da errore prima della parentesi ")".

Modificando in void e non mettendo il return, mi stampa sempre in ogni caso il valore 0.
Secondo voi è giusto il procedimento della funzione o, c'èqualche passaggio errato?



codice:
#include<stdio.h>
 #include<stdlib.h> 
#define D 5 
typedef struct{int A;int B[D];}ES; 
 
void C (ES x,int*y){            
int i,trovato;            
*y=0;      
trovato=0;      
for(i=0;i<D;i++)      
if(x.A==x.B[i]){                      
trovato=1;                      
*y++; 
                     }                                                         
 }    
int main()    
{        ES N;        
int i,k;       
N.A=5;       
for(i=0;i<D;i++)       
scanf("%d",&N.B[i]);       
C(N,&k);      
printf("\n%d",k);       
printf("\n");       
system("pause");       
return 0;       }