命令行输入工作不正确

前端之家收集整理的这篇文章主要介绍了命令行输入工作不正确前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
好的,所以我做了这个程序来帮助我完成我的作业,因为我想提高我的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)

猜你在找的C&C++相关文章