嗨,我对编程相对较新。
我想创建一个C ++程序,当你在CMD中调用它时,你可以传递变量。
例如在cmd中
Myprograme.exe 11 32 232 这样它就可以在计算中使用这些值。
C ++
int main(float A, float B, float C){
float sum= A+B+C;
cout << sum;
return 0;
}
我的问题是我不知道你会把这个过程称为谷歌它。
答案 0 :(得分:2)
main
的标准签名如下:
int main(int argc, const char **argv)
argc
是给予程序的命令行参数的数量(包括参数编号0,即程序的名称)。
argv
是一个以空字符结尾的字符串数组,每个字符串都包含相应的命令行参数。 argv[argc]
是一个空指针。
您可以使用它们来解析命令行参数,并将它们传递给您的计算。
例如,如果在命令行上发出以下命令:
myprog.exe a bb c
argc
将为4 argv[0]
将为"myprog.exe"
argv[1]
将为"a"
argv[2]
将为"bb"
argv[3]
将为"c"
argv[4]
将是空指针答案 1 :(得分:0)
main方法可以有两个参数:
int main(int argc, char** argv)
{
}
argc
是参数的数量,argv
是包含每个参数值的char *数组。然后,您可以根据需要将char *转换为float。注意,第一个参数是程序本身的名称。
答案 2 :(得分:0)
你总是有一个像
这样的主要功能int main(int argc, char **argv)
{
}
第一个参数是参数的数量,argv指向作为参数的argc char*
。这意味着您可以获得char数组而不是浮点数,这是绝对可以理解的,因为您也可以编写
Myprograme.exe a b cde fg
请参阅Converting char* to float or double了解如何将char *转换为float。
答案 3 :(得分:0)
回答你的第一个问题。
这称为command line argumants
您可以使用此关键字来谷歌。
这是你试图做的。首先像这样定义主函数。
int main(int argc, char *argv[]) {
float sum,a,b,c;
a=atof(argv[0]);
b=atof(argv[1]);
c=atof(argv[2]);
sum=a+b+c;
cout<<sum;
}
现在你可以传递参数Myprograme.exe 11 32 232
它将返回275
答案 4 :(得分:0)
@danial weaber这是一个非常好的例子,但它没有运行到正确的总和。那是因为它找不到c。
你的例子应该是:
#include <iostream>
using namespace std;
int main(int argc, char** argv)
{
float sum,a,b,c;
sum=atof(argv[0]);
a=atof(argv[1]);
b=atof(argv[2]);
c=atof(argv[3]);
sum=a+b+c;
cout<<sum;
}
只是想指出这一点,以便当他们运行时... Myprograme.exe 11 32 232它将返回275。
此外,某些ide可能无法正确运行您的代码。 很多时候使用notepadd ++然后编译你的 在命令行中的代码,您可能会得到正确的结果。祝你好运