Foros del Web » Programación para mayores de 30 ;) » C/C++ »

ayuda c++

Estas en el tema de ayuda c++ en el foro de C/C++ en Foros del Web. Alguien podria explicarme como es que c+i da el valor de 4, i+f da el valor d 4, i+d da el valor de 8 i ...
  #1 (permalink)  
Antiguo 30/11/2010, 12:55
 
Fecha de Ingreso: noviembre-2010
Mensajes: 8
Antigüedad: 13 años, 5 meses
Puntos: 0
ayuda c++

Alguien podria explicarme como es que c+i da el valor de 4, i+f da el valor d 4, i+d da el valor de 8 i f+d da el valor de 8? no entiendo ya que que el tamaño de char es 1 de int es 4 seria 5 n? alguien me puede resolver esta duda?
Muchas gracias


char c=0;
int i=0;
float f=0;
double d=0;
printf("mida de l'expressi¢ c+i : %d\n", sizeof(c+i));
printf("mida de l'expressi¢ i+f : %d\n", sizeof(i+f));
printf("mida de l'expressi¢ i+d : %d\n", sizeof(i+d));
printf("mida de l'expressi¢ f+d : %d\n", sizeof(f+d));
putchar('\n');
system("pause");
return 0;
}
  #2 (permalink)  
Antiguo 30/11/2010, 13:36
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años
Puntos: 228
Respuesta: ayuda c++

Por asi decirlo vos estaria aplicando distributiva del sizeof con respecto a la suma. Pero no.

Tu problema esta en que por ejemplo, al sumar un entero mas un char te tienes que fijar que devuelve. Y esa cuenta el compilador te devuelve un entero (int) (Hay formas de hacer que el compilador devuelva un char).

Basicamente creeria que si hay un tipo de datos mas grande que otro te da el mas grande para perder menos informacion.
  #3 (permalink)  
Antiguo 30/11/2010, 13:48
 
Fecha de Ingreso: noviembre-2010
Mensajes: 8
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: ayuda c++

Muchas gracias de nuevo!

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:50.