EL operador ^ no es lo que piensas. No es el operador potencia. Para eso tenes que usar la función Pow(a,b);
O sino como te mostré yo (nada mas que antes me olvide de restar 48):
Código C:
Ver originalvoid iniciosesion(int *id, char tsanitaria[],int longitudtsanitaria){
int i=0, fid=0,n;
for(i=0;i<longitudtsanitaria;i++){
n=(int)tsanitaria[i] - 48; // también probé a restarle '0'
fid = find * 10 + n;
// fid+=pow( ((n)*10) , (longitudtsanitaria-(i+1)) ) ;
}
*id=fid;
}
Para usar pow vas a necesitar incluir la librería math.