使用Char数组在VC2010中显示字符串的运行时错误

时间:2013-12-10 01:05:22

标签: c++ visual-c++

我正在“运行”此代码:

#include <iostream>

int main()
{

    char name[5] = {'J', 'a', 'k', 'e', '\0'};

    std::cout << name[5];

    std::cin.get();
    std::cin.get();

    return 0;
}

参考我的C ++ Primer,这段代码是正确的。我收到的运行时错误是这样的(直接从对话框中复制并粘贴):

“运行时检查失败#3 - 正在使用变量'name'而未进行初始化。”

我确实理解这个错误,但我看不出如何解决它。我做了初始化变量。我想知道如何解决这个问题,或者如果我确实犯了错误,我该如何解决它。感谢。

1 个答案:

答案 0 :(得分:2)

Name是5个元素数组,因此,最后一个元素是name[4]

您正在尝试打印“第六”元素,该元素不存在:std::cout << name[5];

如果您想要打印整个内容,那么std::cout<<name;会正常工作,因为您正确地终止了数组。

如果要打印第五个元素('\ 0'),则std::cout<<name[4]