Ya lo resolvi usando sprintf, adjunto el codigo por si le sirve de ayuda a alguien..
ahora el unico problema que tengo es que resp se trunca en el primer espacio al ser devuelta a la funcion main
Código:
char *moneda(float dinero,gaseosa bebida,int cant)
{
char resp[80];
char temp;
float aux;
aux=cant*bebida.precio;
if(dinero<aux)
sprintf(resp,"EL DINERO NO TE ALCANZA PARA COMPRAR %d %sS",cant,bebida.nombre);
else if(cant>bebida.cant)
sprintf(resp,"NO HAY SUFICIENTE %sS",bebida.nombre);
else sprintf(resp,"Tu vuelto es %.2f",(dinero-aux));
system("pause");
return resp;
}