有没有办法让ARGV []函数加倍?
我已经尝试过了,但它并没有按照我想要的方式运作。我的解决方案"代码是:
int MarkGenerator(double argc, double argv[])
{
if (argc > 3){
OnError("Too few arguments for mark calculator", -3);
}
else{
double MaxPoint = argv[1];
double PointsReached = argv[2];
double temp = 0;
temp = PointsReached * MaxPoint;
printf("%d\n", temp);
temp = temp * 5;
printf("%d\n", temp);
temp = temp ++;
printf("%d\n", temp);
}
}
代码有效,但不是我想要的方式。
任何解决方案?
答案 0 :(得分:0)
以下是一些建议的更改。
#include<stdio.h>
#include<stdlib.h>
// argc是一个int,argv是一个char *
的数组int MarkGenerator(int argc, char * argv[])
{
if (argc < 3){
OnError("Too few arguments for mark calculator", -3);
}else{
// The function gets its arguments as strings (char *).
// Take each of the strings and convert it to double
double MaxPoint = strtod(argv[1], NULL);
double PointsReached = strtod(argv[2], NULL);
double temp = 0;
temp = PointsReached * MaxPoint;
// Use "%lf" to print a double
printf("%lf\n", temp);
temp = temp * 5;
printf("%lf\n", temp);
temp = temp ++;
printf("%lf\n", temp);
}
}
// argc是一个int,argv是一个char *
的数组//主要功能的标准签名
int main(int argc, char * argv[])
{
// Note how arguments are passed
MarkGenerator(argc, argv);
}