[ Foro de C ]

tabla de multiplicar con vector

20-Feb-2015 18:23
tomas galan
2 Respuestas

Buenos dias, tengo una duda bueno una no mchas es sobre este programa:


#include<stdio.h>

int main(void){
int x[11]={0,1,2,3,4,5,6,7,8,9,10};
int numlt,i;
printf("\nIngrese un numero: ");
scanf("%d",&numlt);
for(i=0;i< 11;i++){

    printf("%d * ",x[i]);

    printf("%d = ",numlt);
    x[i] *= numlt;
    printf("%d\n",x[i]);
}
return 0;
}


Me gustaria que me explicaran su funcionamiento por que estoy muy confundido por que si al vector x[11] le quito esto ={0,1,2,3,4,5,6,7,8,9,10};
he intento mostrar los resultados de multiplicarlo salen numeros que no ingrese
ahora si dentro del for en el printf ¿para que tiene la variable i ? ¿esta asignando datos? si es así entonces ¿de que sirve esto "={0,1,2,3,4,5,6,7,8,9,10}"; ?
de antemano muchas gracias por tomarse la molestia de sacarme de dudas ....


20-Feb-2015 19:02
Nacho Cabanes (+84)

Cuando creas un array, el compilador te reserva espacio, pero no "lo vacía" por ti. Por eso, si muestras un array que no has inicializado verás "basura", lo que hubiera anteriormente en las posiciones de memoria que se te han reservado.

La variable "i" actúa de contador. Esa orden "for" se podría leer como "para valores de i que van desde 0 hasta 10".


20-Feb-2015 19:27
tomas galan

Asi de facil era? jajajaja, bueno muchas gracias Nacho Cabanes por tu respuesta tan rapida te entendi muy bien la variable i del for vendria siendo para acceder a esos espacios en donde se encuentran los valores, en cada vuelta del mostraria lo que hay en la posicion 0 luego en la 1 en la 2 y asi sucesivamente ^_^ gracias,  me llama esto de la programación asi que volvere pronto con mas dudas sobre mas programas ^_^






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)