如果我有这样一行代码
int s = (double) t/2
与
相同吗?int s = (double) (t/2)
或
int s = ((double) t)/2
?
查看操作符优先级表以使事情更清楚。简单地说,强制转换优先于除法操作,因此它将给出与
相同的输出。int s = ((double)t) / 2;
正如knight指出的那样,从技术上讲,这与没有括号的操作不同,因为它们也有优先级。然而,对于这个示例,它将提供相同的结果,并且在所有意图和目的上都是相同的。