C语言问题(为什么无限循环,而且最后输出的e,t,time都为0)

2025-06-27 04:34:34
推荐回答(1个)
回答1:

先指出几个问题:

  1. for(int t=0;t<=time;t=t+dt)——t是整型,dt是浮点型,当dt<1时t=t+dt是不会增值的,因为一个浮点数赋给一个整型数时只取整数部分。比如t=1,dt=0.3,执行t=t+dt的结果是t永远是1。

  2. printf("%d\n",e);——e是float型,而控制符却是%d,这样输出永远是0。

  3. printf("%d\n",time);——与2一样,time是float型。