我正在嘗試以秒爲單位存儲用戶輸入,而輸入以分鐘爲單位。如果我輸入0.1,這應該是6秒,因爲0.1分鐘是6秒。當與int相乘時,Double變爲0
但是,由於某種原因,我的代碼導致零。
int main(int argc, char *argv[]) {
if (argc != 6) {
printf("Not enough arguments!\n");
exit(1);
}
double sim_time, chance, time_served, sample_time;
int num_tellers;
sim_time = atoi(argv[1]) * 60; //These are in minute units
chance = atoi(argv[2]);
num_tellers = atoi(argv[3]);
time_served = atoi(argv[4]) * 60;
sample_time = atoi(argv[5]) * 60;
下面是在命令行輸入:./a.out 10 2 3 4 0.1
因此我預計sample_time
爲6,但它是0。它可能是一些很愚蠢,但我無法弄清楚。
任何幫助表示讚賞。
哦,我明白了。那麼有沒有像atoi但返回一個雙或浮動? – mrQWERTY 2014-12-05 06:19:11
@ Renren29使用'atof()'。 – CiaPan 2014-12-05 06:21:22
@ Renren29請參閱我的答案中的編輯。 :-) – 2014-12-05 06:21:32