我正在用 C 编写一个非常简单的程序,但我正在做的计算总是得到错误的答案。我想要的最终输出需要没有小数位,因此int即使答案不是整数,我也将其用作数据类型。这是代码:
int numberOfInches = (100/254)*101;
Run Code Online (Sandbox Code Playgroud)
如果我将其int用作数据类型,我会得到答案 0,如果我尝试使用float或 ,我会得到疯狂的长数字double。关于我做错了什么的任何想法?
100 / 254
Run Code Online (Sandbox Code Playgroud)
这是整数除法,它将得到0。然后乘以101。
要进行浮点除法, 的操作数中至少有一个/必须是浮点数:
int n = (int)((100. / 254.) * 101.);
Run Code Online (Sandbox Code Playgroud)