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

Encabronadisimo!!!

Estas en el tema de Encabronadisimo!!! en el foro de C/C++ en Foros del Web. He tenido que reducir un enorme codigo a tan solo esto: #include <stdio.h> #include <cstdlib> int main() { char runa3[4][4]; runa3[0][3]=146; printf("%d \n",runa3[0][3]); system("pause"); return ...
  #1 (permalink)  
Antiguo 19/01/2011, 17:23
 
Fecha de Ingreso: septiembre-2010
Mensajes: 137
Antigüedad: 13 años, 8 meses
Puntos: 0
Encabronadisimo!!!

He tenido que reducir un enorme codigo a tan solo esto:

#include <stdio.h>
#include <cstdlib>

int main()
{
char runa3[4][4];
runa3[0][3]=146;
printf("%d \n",runa3[0][3]);
system("pause");
return 0;
}

pero aún asi no encuentro es @#%°#$/*@ error!

cuando pruevo este codigo me aparece en pantalla "-110", cuando me deberia de aparecer "143"

  #2 (permalink)  
Antiguo 19/01/2011, 19:19
 
Fecha de Ingreso: enero-2008
Mensajes: 229
Antigüedad: 16 años, 3 meses
Puntos: 1
Respuesta: Encabronadisimo!!!

bien, hay algo muy importe que debes empezar a fijarte y es en el tipo de dato que vas a representar en C, en tu caso quieres reprentar un numero entoces sería

int main()
{
int runa3[4][4];
runa3[0][3]=146;
printf("%d \n",runa3[0][3]);
system("pause");
return 0;
}
  #3 (permalink)  
Antiguo 20/01/2011, 04:17
Avatar de Munire  
Fecha de Ingreso: julio-2010
Ubicación: en el ciberdespacio (España)
Mensajes: 150
Antigüedad: 13 años, 10 meses
Puntos: 4
Respuesta: Encabronadisimo!!!

Cita:
pero aún asi no encuentro es @#%°#$/*@ error!

cuando pruevo este codigo me aparece en pantalla "-110", cuando me deberia de aparecer "143"
este error es dificil de detectar por que aparentemente el programa esta bien

supongo que sabras que las variables char solo pueden estar comprendidas entre -127 y 127 ( no se si era 127 o 128, por ahi anda la cosa xD) y tu le estas asignando un valor mas grande, por lo que el resultado es inesperado: -110

prueba con 125, ya veras como funciona bien.


si quieres poner valores mas altos de 127, declara la variable como

unsigned char

de este modo podras poner numeros del 0 al 255
  #4 (permalink)  
Antiguo 22/01/2011, 02:07
 
Fecha de Ingreso: agosto-2008
Mensajes: 240
Antigüedad: 15 años, 8 meses
Puntos: 6
Respuesta: Encabronadisimo!!!

Cita:
Iniciado por Munire Ver Mensaje
supongo que sabras que las variables char solo pueden estar comprendidas entre -127 y 127 ( no se si era 127 o 128, por ahi anda la cosa xD)
Hola, lo que te ocurre es que, tal y cómo te dice Munire, estás desbordando el tipo char. Su rango de acción es el [-128, 127]. De todas formas, en el primer post de Munire tienes la mejor solución: cambiar la variable "char runa3" a "int runa3". Además, date cuenta que estás imprimiendo un caracter cómo un valor numérico entero (%d).

Un saludo.

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 22:28.