Buenas noches, tardes o días a todos
, hoy vengo con una duda que llevo minutos tratándole de solucionarla y es debido al funcionamiento de la función "scanf", les aclaro que soy novato en esto de lenguaje C. Ok, ahí les va a el código para explicarles mi duda.
#include <stdio.h>
float maximum(float x, float y);
float minimum(float x, float y);
void prn_info(void);
int main()
{
int i,n;
float max, min, x;
prn_info();
printf("\nInput %d real numbers: ", n
); max = min = x;
for (i = 2; i <= n; ++i){
max = maximum(max, x);
min = minimum(min, x);
}
printf("\n%s%11.3f\n%s%11.3f\n\n", "Maximum value:",max,
"Minimum value:", min);
return 0;
}
float maximum(float x, float y){
if (x > y)
return x;
else
return y;
}
float minimum(float x, float y){
if (x < y)
return x;
else
return y;
}
void prn_info(void){
"This program reads an integer value for n, and then",
"processes n real numbers to find max and min values.");
}
Es un código que lo vi de un libro que estoy leyendo de C, pero la gran duda es el por qué la variable "i" la inicializa con el valor de 2 en el ciclo for, y luego, en el ciclo for vuelve a utilizar la función "scanf", eso es lo que no entiendo el por qué eso. Al momento de que el usuario ponga por ejemplo, n=2, y ponga los números 10 y 20, la primera sentencia "scanf" captura el primer número y luego en el ciclo for captura el 2do número, o cómo es que funciona en si esa partesita y la función "scanf"?.
Bueno, espero y haya sido claro con mi duda, que la verdad no logro sacarle bien la lógica al código, mas bien, creo que se debe a la falta del entendimiento de la función "scanf", si alguien puediera explicarmelo, sería de gran ayuda, o tal vez, un link donde explique su funcionamiento.
Saludos.
Gracias.