Código
char carac2[3]; carac2[0] = 'a'; carac2[1] = 20; carac2[2] = 30; cout<<"carac2[0] "<<carac2[0]<<"\ncarac2[1] "<<carac2[1]<<"\ncarac2[2] "<<carac2[2];
El problema es que me imprime correctamente solo 'a', los demás salen con otros símbolos.
http://prntscr.com/9xvaek (foto)
Según lo que leí, char, es básicamente para guardar datos pequeños asi que deduzco que tenga algo ver, pero si lo pongo directamente así:
Código
cout<<carac2[0]<<endl; cout<<carac2[1]<<endl;
si que lo imprime bien. Entonces, ¿En qué estoy fallando?.
*Edit (solucionado)
Vale muchas gracias chicos por la ayuda.
- char solo es usado para caracteres. Por lo cual, cuando intento almacenar un valor entero (10-20), le estaremos diciendo que nos muestre su representación en la tabla ASCII. Asi que debo usar una variable de tipo entero (int).
Sin embargo puedo usar un Casting a int, asi cout lo interpretará como numero y no como carácter. Ejemplo:
Código
carac2[0] = 20; carac2[1] = 'b'; // caracter ASCII carac2[2] = 'c'; // caracter ASCII cout<<"carac2[0] "<<(int)carac2[0]<<"\ncarac2[1] "<<carac2[1]<<"\ncarac2[2] "<<carac2[2];