close

//---------------------------------------------------------------------------
#include <iostream>


//---------------------------------------------------------------------------
long int zip;

int main(int argc, char* argv[])
{
        zip = 02137L;

        std::cout << "New York's zip code is: " << zip << '\n';
        std::system("pause");
        return 0;
}
//---------------------------------------------------------------------------

Q:為什麼上面的程式無法印出正確的郵遞區號?印出的結果是什麼?


A:因為郵遞區碼02137的起始值為0。C++認為02137是一個八進位的常數,
      但印出時則適用十進位。由於021378是111910,程式會印出:
              New York's zip code is: 1119


題目來源:C++風格與藝術 第二版 Steve Oualline 著 黃吉霈 編譯

arrow
arrow
    全站熱搜

    jumbowind 發表在 痞客邦 留言(0) 人氣()