3

这不起作用:

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

但是这个和这个呢?

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

6 回答 6

14

08 是八进制的(因为它以 0 开头),因此它是无效的。请参阅文档

于 2009-12-07T13:40:15.400 回答
11

因为0809不是有效的八进制数。请参阅文档中的警告

于 2009-12-07T13:40:35.547 回答
1

您正在键入以八进制为基数的无效数字。

于 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 回答
0

您正在使用显式类型转换(int)

更好的使用intval().

于 2015-07-15T04:53:40.523 回答
-1

要使用十六进制表示法,请在数字前加上 0x。

所以,

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