使用c语言命令行的三角形区域

时间:2017-09-20 19:52:27

标签: c

int main(int argc,char *argv[]){
    float height,base,area;
    if(argc>=1){
        printf("%s %s",argv[1],argv[2]);
        height=atof(argv[1]);
        base=atof(argv[2]);
        area=(height*base)/2;
        printf("%f, %f, %.2f",height,base,area);
    }
    return 0;
}

当我在我的计算机上使用c的atof()函数转换浮点代码时,这个c代码取高度和基数的平均值,但有些如何在我朋友的计算机上正常运行代码。这是为什么?

1 个答案:

答案 0 :(得分:2)

很可能你忘了包含stdlib.h并且你没有得到正确的返回类型atof作为double。始终查看编译器为您提供的所有警告。

#include <stdlib.h>
#include <stdio.h>

int main(int argc,char *argv[]){
    double height,base,area;
    if(argc==3){
        printf("%s %s\n",argv[1],argv[2]);
        height=atof(argv[1]);
        base=atof(argv[2]);
        area=(height*base)/2;
        printf("%f, %f, %.2f",height,base,area);
    }
    else{
        fprintf(stderr,"Usage:\n\t%s height base\n",argv[0]);
    }
    return 0;
}

Try it online!