gpt4 book ai didi

c - 始终打印相同的浮点值

转载 作者:行者123 更新时间:2023-11-30 20:46:39 24 4
gpt4 key购买 nike

这个程序是关于打印 i 不同值的浮点值 t,但每次都打印相同的值。即使 t 的值正在发生变化,它始终为 n 的每个值打印零。

为什么会发生这种情况?

#include <stdio.h>

int main(){
float n;
float sum=0,t,s=1,i;
scanf("%f",&n);
for(i=0;i<n;i++){

t=(100/(1+2i));
printf("\n%f",t);
}
}

输入:5

输出:

0.000000
0.000000
0.000000
0.000000
0.000000

这是 ideone.com 的结果.

最佳答案

问题出在这里:

t=(100/(1+2i));

您似乎打算将 2 乘以 i,但忘记了乘法运算符 *。相反,您拥有的是 2i,它实际上是一个复数常量。请注意,这不是标准 C,而是 GCC 扩展(-pedantic 开关会引发警告)。

添加乘法运算符,它应该按预期工作。

t=(100/(1+2*i));

关于c - 始终打印相同的浮点值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52120428/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com