Copio el código que tengo ahora.
Código:
int valoresd[parametros[0]];
float valoresf[parametros[0]];
char valoresc[parametros[0]];
char valoress[parametros[0]][100];
if(parametros[1]==1){
printf("Introduzca los valores ENTEROS\n");
for(i=0; i<parametros[0]; i++){
printf("Valor %d: ",i+1);
scanf("%d",&valoresd[i]);
}
}
if(parametros[1]==2){
printf("Introduzca los valores DECIMALES\n");
for(i=0; i<parametros[0]; i++){
printf("Valor %d: ",i+1);
scanf("%f",&valoresf[i]);
}
}
if(parametros[1]==3){
printf("Introduzca los CARACTERES\n");
char line[80];
memset(line, 0, sizeof(line));
fgets(line, sizeof(line), stdin);
sscanf(line, "%c", &valoresc[i]);
}
if(parametros[1]==4){
printf("Introduzca las CADENAS DE CARACTERES\n");
for(i=0; i<parametros[0]; i++){
printf("Valor %d: ",i+1);
scanf("%s",&valoress[i]);
}
}
Cuando decia que el programa finaliza quiero decir que el programa acaba sin ningún error, es decir, que no pide ningún valor al usuario.
La pregunta es:
En fgets el programa espera a que el usuario introduzca valores hasta llenar la cadena o copia los últimos valores que hay en la stdin ??