亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

C++局部變量必須初始化?

C++局部變量必須初始化?

C++
達令說 2019-01-02 22:26:47
C++中局部變量必須先主動初始化,但下面的代碼會輸出0 ,不知為何?#include<iostream>using namespace std;int main(){    int a;    cout << a << endl;    return 0; }
查看完整描述

1 回答

?
慕村225694

TA貢獻1880條經驗 獲得超4個贊

C++局部變量必須先初始化,否則其內存上的值是未知的,若是前面用過這塊內存且未消除這塊內存上的值,則此時會讀取到上次的值。
此外不同編譯器對未初始化的局部變量會有不同的處理,比如上面的

#include<iostream>using namespace std;int main(){    int a;    cout << a << endl;    return 0;
}

在vs2017之前會輸出0,在vs2017及之后會報錯——C4700使用了未初始化的局部變量‘a’。即使有的編譯器會把未初始化的局部變量賦值為0但是我們依舊要保持給所有局部變量初始化的好習慣,避免一些意外錯誤。


查看完整回答
反對 回復 2019-01-02
  • 1 回答
  • 0 關注
  • 825 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號