3

これが機能しないもの:

(int)08 == (int)09==0

しかし、これとこれはありますか?

(int)07==7 
(int)06==6 
4

6 に答える 6

14

08 は 8 進数であるため (0 で始まるため)、無効です。ドキュメントを参照してください

于 2009-12-07T13:40:15.400 に答える
11

0809は有効な 8 進数ではないためです。docs の警告を参照してください

于 2009-12-07T13:40:35.547 に答える
1

8 進数で無効な数値を型キャストしています。

于 2009-12-07T13:42:16.497 に答える
0
// Syntax error
//(int)08 == (int)09==0

// This works
(int)08==0;
(int)09==0;

// This also works
(int)08 == ((int)09==0);
于 2009-12-07T14:03:56.663 に答える
-1

16 進数表記を使用するには、数値の前に 0x を付けます。

したがって、

 $num = (int)0x9
 $num == 9
于 2009-12-07T13:46:39.457 に答える