好吧,所以我让这个程序帮助我完成作业,因为我想提高我的C专业知识。当我做“gcc file.c -lm”时,所有东西都编译得很好,但是当我在命令行中用一个数字作为参数运行它时,我的程序只返回70.0000。命令行输入工作不正确
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
double temp(double hour){
double t = (3.14/12)*hour;
double c = cos((double)t);
double temp = 13 * c + 57;
return temp;
}
int main (int argc, char *argv[]){
double temperature = temp((double)atol(argv[0]));
printf("%f\n", temperature);
}
你知道为什么程序名始终是数组中的第一个变量吗?感谢您的教程呢! – Breedly 2012-02-29 03:25:50
我无法对历史原因进行评论,但对于像busybox这样的程序来说,它确实有帮助,它根据用于调用它的名称执行不同的操作。 – 2012-02-29 04:09:59