Código
#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(); max = min = x; for (i = 2; i <= n; ++i){ max = maximum(max, x); min = minimum(min, x); } "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.