Tengo entendido que cuando aplica cin el programa se detiene para poder leer la info que se envia a traves del teclado. En este caso en el primer CIN se detiene y puedo insertar en cadena1 lo que pongo con el teclado (en este caso "hola todos" ) pero en el segundo el programa pasa de largo y y luego imprime "todos". Por que imprime "todos", no deberia pausarse para una nueva "reinicializacion" del arreglo? Por otro lado si saco el 2do "cin>>cadena1;" del codigo y lo ejecuto imprime "hola" en ves de "todos". Alguien sabe porq esta actuando asi CIN.
Gracias por leer.

Código:
#include <iostream>
#include <iomanip>
using namespace std;
main()
{
char cadena1[20];
char cadena2[]="literal de cadena";
cout<<"Escriba la cadena \"hola todos\": ";
cin>>cadena1;
cout<<"cadena1 es: "<<cadena1<<"\ncadena2 es: "<<cadena2;
cin>>cadena1;
cout<<"\ncadena1 es: "<<cadena1<<endl;
system("pause");
return 0;
}
#include <iomanip>
using namespace std;
main()
{
char cadena1[20];
char cadena2[]="literal de cadena";
cout<<"Escriba la cadena \"hola todos\": ";
cin>>cadena1;
cout<<"cadena1 es: "<<cadena1<<"\ncadena2 es: "<<cadena2;
cin>>cadena1;
cout<<"\ncadena1 es: "<<cadena1<<endl;
system("pause");
return 0;
}
Raidenn