Fork me on Github Fork me on Gitee

未赋值的变量会输出随机数吗?

int a;
cout<<a;

直接输出未赋值的整型变量,结果

1.前没有其他变量赋值

int main(){
    int a;
    cout<<a;
}

结果

2.前面有一个变量

int main(){
    int p=3;
    cout<<p<<endl;
    int a;
    cout<<a;
}

结果

a的值输出16!

3.前面有两个变量

int main(){
    int p=3;
    cout<<p<<endl;
    int b=12;
    cout<<b<<endl;
    int a;
    cout<<a;
}

结果

又成了0!

4.前有3个变量

int main(){
    int p=3;
    cout<<p<<endl;
    int b=12;
    cout<<b<<endl;
    int t=92;
    cout<<t<<endl;
    int a;
    cout<<a;
}

结果

这时候才是随机数

总结

未赋值的变量不一定就是随机数,在实际中可能是0,可能是某个定值,我遇到过定制16,4,8,9等,这些数看着很正常,很难排查错误,如果都是一大串随机数还好,遇到定值就麻烦了。

而且vscode还找不到未赋值的waring

 

posted @ 2022-03-06 12:31  Tenerome  阅读(247)  评论(0编辑  收藏  举报