2017-02-03 117 views
-3
#include <iostream> 

using namespace std; 

int main() 
{ 

    double number; 

    while(number <= 100) 
    { 
     cout << number << endl; 
     number++; 
    } 
    return 0; 
} 

我知道我需要初始化變量,但出於好奇,爲什麼編譯器會在輸出開始時打印出這個非常小的數字?while循環。隨機數出現

+1

因爲它可以。當調用未定義的行爲時,編譯器可以打印任何垃圾,甚至可以製作崩潰的程序。 – dasblinkenlight

+1

因爲它是** _未定義行爲_ **。它可以做任何事情。 – Tas

+1

初始化「數字」變量。局部變量不會初始化爲0.如果未初始化,則某些內存將在運行時使用,其中可以包含任何值。 – rajesh6115

回答

2

那是因爲你沒有初始化數值...你可以檢查cout < <數字;在循環之前。你可以看到輸出..