这个程序的循环体压根没用到。。。你这个程序究竟是干嘛的你明确了吗?
因为t=0,所以t永远不可能大于等于1e-6,所以循环体也就不会执行,最后返回的是e的浮点数,因为e的类型是double
题目是什么?正确答案应该是什么?
%f换成%d
供参考对照:
#include<stdio.h>
int main()
{
double s, k, e, t;
e = 0;
t = 1;
s = 1;
k = 1;
while (t >= 1e-6) {
s *= k;
e += 1.0 / s;
t = 1.0 / s;
k++;
}
printf("e = %f\n", e);
return 0;
}