Muy bien por lo visto estas haciendo una "Tabla" de multiplicar.
Se puede abordar como lo solucionaste. Sin embargo en tu ejemplo queda sin utilizar el elemento 0 de tu arreglo.
Por ejemplo (Un remoto pero posible caso) si vas a guardar en archivo el arreglo
Usando
Guardarias un ITEM basura (el primero) y omitirias el ultimo
Enonces mejor empezar en el elemento 0 y usar menor que en la comparacion en el while y adicional agregar + 1 en la multiplicación.
Saludos.
Se puede abordar como lo solucionaste. Sin embargo en tu ejemplo queda sin utilizar el elemento 0 de tu arreglo.
Por ejemplo (Un remoto pero posible caso) si vas a guardar en archivo el arreglo
Usando
Código (c) [Seleccionar]
fwrite(ptr,sizeof(int),MAX,archivo);
Guardarias un ITEM basura (el primero) y omitirias el ultimo
Enonces mejor empezar en el elemento 0 y usar menor que en la comparacion en el while y adicional agregar + 1 en la multiplicación.
Código (c) [Seleccionar]
#include <stdio.h>
#include <stdlib.h>
#define MAX 150
#define TABLA 5
int main( void ){
size_t i=0;
int *ptr = (int*)malloc(MAX * sizeof(int));
while( i<MAX ){
ptr[i] = (i+1)*TABLA;
printf( "\n %2lu x %d = %2d", i+1, TABLA, ptr[i] );
i++;
}
free(ptr);
return 0;
}
Saludos.