[C con Clase] Punteros

David xdrtas en yahoo.es
Jue Feb 1 08:49:28 CET 2007


Hola a todos, tengo un pequeño problema con los punteros, veran yo uso MS Visual C++ 6.0 y al ejecutar el siguiente programa:

#include <iostream.h>

void main () {
    int a = 10, b = 100, c = 30, d = 1, e = 54;
    int m[10] = {10,20,30,41,50,60,70,80,90,100};
    int *p = &m[3], *q = &m[6];
    
    cout << "Son iguales? " << p << ", " << &m[3] << ", " << *p << endl;
    cout << "--------------------------------------------------------\n\n" << endl;

    cout << m[3] << " : " << &m[3] << " : " << p << " : " << *p << " : " << ++*p << " : " << *p++ << " : " << ++*p++ << endl;

Me da el siguiente resultado:

Son iguales? 0x0012FF50, 0x0012FF50, 41
--------------------------------------------------------


42 : 0x0012FF50 : 0x0012FF58 : 61 : 61 : 50 : 42

Como pueden comprobar, cada vez que quiero imprimir el valor del puntero "*p" me suma 1 al valor al que apunta. Si no me equivoco, cuando mando a imprimir en pantalla "*p", debería salirme 40 y no 41. Alguien sabe que pasa, tal vez sea alguna directiva del compilador, pero hasta ahora no he dado con el fallo, si es que lo hay.

Muchas gracias.





	
	
		
______________________________________________ 
LLama Gratis a cualquier PC del Mundo. 
Llamadas a fijos y móviles desde 1 céntimo por minuto. 
http://es.voice.yahoo.com
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20070201/1d9101e0/attachment.html>


Más información sobre la lista de distribución Cconclase