c编写一个通过命令行运行的程序计算幂,可是不论参数输入什么,都是输出的这个结果,请问我哪里写错了?
问题描述:
如题,谢谢
答
你选的字体颜色对比度太低!下次请贴出文字格式的代码(用"代码片")工具格式化下
你的输入的参数是字符串类型
你需要用atoi或者atof转换成浮点数
pow的结果是浮点数,输出的时候用 %f,而不是%d
:#include <math.h>
#include <stdio.h>
#include <stdlib.h>
int main(int argc, const char * argv[])
{
float a = atof(argv[0]);
float b = atof(argv[1]);
float k = pow(a, b);
printf("%f", k);
return 0;
}
答
提示了没有pow这个函数声明,如果使用需要添加对应头文件。
#include<math.h>
答
楼上有道理,
但argv[0]是程序本身,
应改成argv[1]和argv[2]:
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
int main(int argc, const char * argv[])
{
float a = atof(argv[1]);
float b = atof(argv[2]);
float k = pow(a, b);
printf("%f", k);
return 0;
}