#include <iostream>
using namespace std;
int main()
{
//声明字符数组和变量
char str[6];
int i;
//从键盘上输入字符串
cout << "str=";
cin >> str;
cout << str << endl;
//按数组下标变量两种方式显示数组
cout << str << endl;
for (i = 0; i < 6; i++)
cout << str[i];
cout << endl;
//将字符反向输出
for (i = 5; i >= 0; i--)
cout << str[i];
cout << endl;
//将字符数组变成大写字母后输出
for(i = 0;i<5;i++)
str[i] -= 32;//小写字母转换成大写字母
cout << str << endl;//显示字符串
}

cin读取碰到空格会截止
所以你读进去的只有a而已,所以只有str[0]有值,s[1]到是s[5]都是未初始化的,所以是乱码
因为空格也是字符。
希望对题主有所帮助,可以的话,帮忙点个采纳!
空格就输入结束了