好的,所以我做了这个程序来帮助我完成我的作业,因为我想提高我的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); }
解决方法
argv [0]可能是你的程序名称.你想要argv [1].查看
this tutorial以获得快速简便的解释.
除此之外,你是否有理由使用atol(3)并将其转换成双倍而不是仅使用直接返回双精度的atof(3)
?
原文地址:https://www.jb51.cc/c/111688.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。