你输入的值是赋给name[20],前面的19项都为赋值,你的输出也只是输出name[20]一个字符。
解析如下:
cin >> name就行
cin >> name[20],name[n]是name数组里下标为n的元素,所以实际的效果只是输入了name[n]一个字符。
另外在这里你对name[20]的引用已经越界。
而且cin>>到一个char数组里也是极不安全的。
这种情况一般是使用cin.get( name, 20 )的形式,指定数组的长度以防止输入越界。
更好且更安全的做法是使用string。