Ver Mensaje Individual
  #6 (permalink)  
Antiguo 02/08/2007, 14:54
Sanva
 
Fecha de Ingreso: diciembre-2005
Ubicación: Redondela (Galicia)
Mensajes: 368
Antigüedad: 19 años
Puntos: 1
Re: Capacidad de los tipos

El código es este:

Código:
#include<iostream>
using namespace std;
int main(){
    char b[5];
    cin >> b;
    cout << b << endl;
    return 0;
}
Cita:
A mi me daba el error a partir del 5to o 6to caracter
¡Eso es lo que yo suponía que pasaría! Pero el programa funciona correctamente hasta que paso de 27 caracteres... Es más, si cambio char b[5]; por char b[2];, puedo meter hasta 5 carácteres sin que se produzcan errores. Y con char b[3]; puedo almacenar hasta 27 (como con char b[5];, y no creo que sea una coincidencia)

Lo que me interesa saber no es el porqué del error, eso lo comprendo... escribo en un espacio que no era el mío (puede contener basura, nada o información de otros programas... etc). Lo que me interesa saber es el porqué de que el error se produzca con un número mayor de caracteres sobrantes de lo que es de esperar (sería de esperar que el error se produjese con un sólo carácter que se pasase del espacio...)