Duendes

Antonio
//Programa para debatir.
 
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
 
int main( )
{
   int i, j;
   int *p,*q;
 
   i = 7;
   printf("i vale %dn", i);
 
   p = &j;
   q = p + 1;
   *p = 32;
   *q = j + *p;
   printf("j vale %dn", j);
 
   *p = 952;
   printf("j vale %dn", j);
 
   printf("i vale %dn", i);
 
   system("pause");
   return 0;
}
 
// ¿Ves algo extraño en la ejecución de este programa?. Sí, ¿verdad?.
// ¿Qué y por qué?.

Anuncios

Acerca de programacion1z

Curso de introducción a la programación en C
Esta entrada fue publicada en Sin categoría. Guarda el enlace permanente.

2 respuestas a Duendes

  1. Ricardo dijo:

    Lo unico que puedo ver extraño es que sin asociar o sin escribir que q contiene a i (q=&i) se asocia que es asi directamente y entonces en el ultimo printf i es igual a 64 por esta suma: *q = j + *p.
    Sin el q= p + 1 indicando que es otra direccion esto no habria sido posible.
    Espero que sea eso porque si no lo llevo claro.
    Un saludo

  2. Ricardo dijo:

    Mapi
    Lo extraño es que el puntero q no indica en ningun momento a i, entonces porque cuando pide que muestre i muestra lo introducido en el puntero q. Sunpongo que tendra que ver con q=p+1. Nose… ya lo explicaras en clase.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s