Generale:Su sangría (indentation) no es buena, por favor, debe centrarse más en el formato.
Números sin contexto (e.g. 48?) no son buenos.
Su código esta bueno, pero tienes mucho que mejorar! Ese es el camino.
Personalmente, empezaría por la búsqueda del índices de los puntos. Después, usaria 'atoi' en todos los numeros entre {0, punto1}; {punto1 + 1, punto2} ... {punto3 + 1, tamaño}
Específico:El int es necesario en una función
main
int main(int argc, char *argv[])
Eso es muy malo, el strlen tiene O(n) de complejidad
for (...; strlen(argv[1]); ...)
See atoi
Eso no esta claro
if (numero == 46)
{
n = 46;
} // si el caracter es un punto se retorna el mismo valor
eso es mejor
// si el caracter es un punto se retorna el mismo valor
if (numero == '.')
{
n = '.';
}
No debe usar parentheses en el return se no és necesario