声明了 char ch; 一个字符。
cin >>ch; 每次 只从输入流中读取一个字符
for(i = 7;i >= 0; i--) 循环 8 次 读取 8个字符
无论输入 00010001 或输入0 0 0 1 0 0 0 1 结果一样。cin只是到输入缓冲区取数。默认空白为分隔符,(有空白就跳过,没空白只读一个字符)。
输入一次 00010001 ,缓冲区就有了00010001, cin >>ch; 每次只用掉一个字符。
如输入char 有多余的字符,就会漏在缓冲区 ,你可以利用cin.sync(); 清空缓冲区
具体如下
在cin >>ch;
下面添加
cin.sync();
那么你必须输入8次才能结束
输入了八次诶 cin放在循环里面 循环8次 当然输入8次啦
要你自己输数的