计算机小混子 2022-03-10 22:12 采纳率: 100%
浏览 23
已结题

为什么输出结果是这样的,空格也战数组中的位置吗,如果【6】我输入了几个会怎样


#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;//显示字符串

}

![img](https://img-mid.csdnimg.cn/release/static/image/mid/ask/73414512964614.png "#left")
  • 写回答

3条回答 默认 最新

  • 谛凌 2022-03-10 22:17
    关注

    cin读取碰到空格会截止
    所以你读进去的只有a而已,所以只有str[0]有值,s[1]到是s[5]都是未初始化的,所以是乱码

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 3月19日
  • 已采纳回答 3月11日
  • 创建了问题 3月10日