C ++中全局和局部变量默认初始化之间的差异

时间:2017-06-10 16:54:43

标签: c++

我在编写程序时遇到了这个问题。

#include<iostream>
using namespace std;
string a[10];
int b[10];
int main(){
    string a1[10];
    int b1[10];
    for(auto i:a){cout<<i<<" ";}
    cout<<endl;
    for(auto i:b){cout<<i<<" ";}
    cout<<endl;
    for(auto i:a1){cout<<i<<" ";}
    cout<<endl;
    for(auto i:b1){cout<<i<<" ";}
    cout<<endl;
    return 0;
}

根据输出,a和a1的元素都是空字符串,而b全部为零,但b1似乎有一些随机的nubmers。 我不知道是什么导致了string和int之间的差异,以及a和a1之间的区别(也许编译器在不同的范围内以不同的方式初始化变量?那么这个设计的目的是什么?)。 有人可以帮忙吗?

0 个答案:

没有答案