This question already has answers here:
Why does division result in zero instead of a decimal?
(5个答案)
在8个月前关闭。
我在C中有此代码,由于某种原因而不是正确使用数字,它始终输出零。
有人可以解释一下这是怎么回事吗?我知道C#,但不了解C。
提前致谢!
我正在使用Code :: Blocks + GCC编译器。
(5个答案)
在8个月前关闭。
我在C中有此代码,由于某种原因而不是正确使用数字,它始终输出零。
有人可以解释一下这是怎么回事吗?我知道C#,但不了解C。
#include <stdio.h>
int main(void) {
// I want to express 1/6n*(n + 1)(2n + 1)
int n = 1;
while(n != 0){
scanf("%d", &n);
printf("%d", 1/6 * n * (n + 1) * (2 * n + 1));
}
return 0;
}
提前致谢!
我正在使用Code :: Blocks + GCC编译器。
最佳答案
解决方案是:
#include <stdio.h>
int main(void) {
int n = 1;
while(n != 0){
scanf("%d", &n);
printf("%d", n * (n + 1) * (2 * n + 1) / 6);
}
return 0;
}
关于c - 复数代数表达式的值保持为零,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56906643/
10-13 04:41