C++的前導0

前導0,就是在整數的面前添加的0;不過前導0在各種進製表示的數中有不同的含義。

在C++中定義一個整形int變量:

int a = 01;

輸出結果:

可見,即使添加了前導0,a作爲一個整形變量,輸出a時並沒有輸出前導0。

改變一下:

int a = 08;

這時再輸出a,結果是:

出現了錯誤。

invalid digit "“8” in  octal constant

octal就是八進制的意思。八進制就是:

C++在整數面前添加0表示八進制。八進制只有0~7八個數,是沒有更大的數字8,9的。所以這樣就出現了錯誤。

這個知識點可以用於特殊的解題:

比如

輸入兩個時間,並給出每秒豬八戒可以偷到的電腦數量。時間的表示可能會帶有前導0,有的可能沒有。

這時可以考慮直接使用整型變量接收有前導0的時間;然後直接做減法就可以了。

例如

輸入:

00:01:12
00:03:14
10

用a,b,c三個整形變量接收00,01,12;

用x,y,z三個整型變量接收00,03,14;

冒號就用字符變量重複接收就可以。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章