好吧这么基本的问题在这里。不知道为什么程序返回一个int
double test = 1/3 * 3.14;
我知道你需要做(1.0/3)才能得到实际的双数。但我想知道的是为什么。我会认为,由于你乘以3.14,这将使它成倍增长。
所以我正确地认为,无论周围发生了什么,无论何时在算术方程中使用两个值,如果它们是整数,那么您将得到一个整数值?
即。 x/y * z
虽然x除以y就是程序关心的所有内容,并且如果它们都是整数,您将返回一个整数值?只有当你乘以z(3.14)时它变成了双精度。
这是为什么downvoted?我认为这是一个关于操作优先级的有效问题... – OneChillDude