elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
29 Mayo 2012, 03:01  


Tema destacado: ¡Aprende hacking con práctica! - WarZone, el wargame de elhacker.net

+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse)
| | |-+  Real funcionamiento de "scanf"?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Real funcionamiento de "scanf"?  (Leído 587 veces)
Morringos

Desconectado Desconectado

Mensajes: 9


Ver Perfil
Real funcionamiento de "scanf"?
« en: 29 Agosto 2011, 05:43 »

Buenas noches, tardes o días a todos   :xD, 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.

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();
   printf("Input n:   ");
   scanf("%d", &n);
   printf("\nInput %d real numbers:    ", n);
   scanf("%f", &x);
   max = min = x;
 
   for (i = 2; i <= n; ++i){
       scanf("%f", &x);
       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){
   printf("\n%s\n%s\n\n",
          "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.


En línea
rir3760


Desconectado Desconectado

Mensajes: 382


Ver Perfil
Re: Real funcionamiento de "scanf"?
« Respuesta #1 en: 29 Agosto 2011, 06:07 »

No veo cual es la duda. El objetivo del programa se indica mediante una funcion con:

"This program reads an integer value for n, and then",
"processes n real numbers to find max and min values."

La funcion "scanf" se utiliza primero fuera del bucle para leer el primer valor tomandolo como el maximo y minimo hasta el momento.

En el bucle se leen los numeros restantes con scanf y se comparan con el maximo y el minimo ajustandolos si es necesario.

Un saludo


En línea

The capacity to learn is a gift;
The ability to learn is a skill;
The willingness to learn is a choice.
--
Rebec of Ginaz
Morringos

Desconectado Desconectado

Mensajes: 9


Ver Perfil
Re: Real funcionamiento de "scanf"?
« Respuesta #2 en: 29 Agosto 2011, 06:28 »

Baaa.... muchas gracias por la respuesta, pero era cuestión de que me esperara más y lo analizara.

Gracias de todos modos bro.
Saludos.
En línea
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
scanf "invisible"
Programación C/C++
hekor 1 807 Último mensaje 17 Abril 2006, 13:05
por hekor
Duda en el funcionamiento del descifrado de las "contraseñas"
Hacking Básico
Polanski 3 684 Último mensaje 1 Septiembre 2007, 18:39
por zhyzura
Problema con "scanf();"
Programación C/C++
HJZR4 5 1,127 Último mensaje 23 Noviembre 2007, 16:09
por HJZR4
"virus" funcionamiento muy extrañode mi pc, ¿ayuda?
Seguridad
drp 2 953 Último mensaje 13 Febrero 2010, 11:29
por traxtor
NASM Linux printf - scanf "undefined reference"
ASM
Leyer 5 1,555 Último mensaje 7 Enero 2012, 20:32
por Eternal Idol
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines