Como rectificar es de sabios, añado ciertas correcciones que afectan a la respuesta que di originalmente.
Desde el estándar C99 sí es posible declarar variables dentro de los bucles, por lo que la siguiente estructura debería ser compilable también en C:
Además, debido a que los lenguajes también evolucionan, empieza a no ser estándar utilizar los tipos de toda la vida (int, unsigned int, char, long, etc).
Para crear código más legible existe la librería
stdint.h que incluye un tipado bastante más preciso:
- Enteros con signo: int8_t (char), int16_t (short/int), int32_t (int/long), int64_t (long long)
- Enteros sin signo: uint8_t, uint16_t, uint32_t, uint64_t
¿Por qué es mejor usar estos tipos? El tipado es más preciso (nos permite conocer de antemano el tamaño de la variable) y más legible ( mejor
uint64_t que
unsigned long long, no?)
Volviendo al código inicial y aplicando lo que acabo de comentar, sería entonces más correcto escribir lo siguiente:
Código C:
Ver originalfor(int32_t i=0; i<10; i++)
{
int32_t j=i*2;
}
Que si, que el "profe" de turno puede decir que hay que usar
int porque es lo que el conoce y son sus normas... pero recordad que hay vida después de la universidad y que esa vida no suele quedarse congelada en un punto determinado... yo creo que lo suyo es conocer tanto lo nuevo como lo antiguo para poder elegir siempre la mejor opción.
Un saludo.