我已经编写了这段代码,但我无法理解为什么该浮点除法在inf
时返回args[2] = 200
,而在5.0
时返回args[2] = 2000
。是因为我超出了小数点后的位置边界吗?
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
int main(int nargs, char **args) {
float t = atoi(args[1]);
float dt = atoi(args[2])/1000;
float nsamples = (t/dt);
printf("%f\n", nsamples);
return(0);
}
答案 0 :(得分:1)
您只是被整数除法(200/1000 = 0)绊倒了。
更改float dt = atoi(args[2])/1000;
-> float dt = atoi(args[2])/1000.0f;