如果我理解正确使用int main(int argc,char* argv[])
,每当我声明4整数时,argc必须为5.例如;
int main(int argc,char* argv[])
{
int portNb = 0;
int leftMotorHandle;
int rightMotorHandle;
int sensorHandle;
if (argc>=5)
{
portNb=atoi(argv[1]);
leftMotorHandle=atoi(argv[2]);
rightMotorHandle=atoi(argv[3]);
sensorHandle=atoi(argv[4]);
}
else
{
printf("Indicate following arguments: 'portNumber leftMotorHandle rightMotorHandle sensorHandle'!\n");
extApi_sleepMs(55000);
return 0;
}
但是当我调试代码时,argc的值是2。我怎么能确定argc的值是5?
答案 0 :(得分:3)
如果我理解正确使用'int main(int argc,char * argv [])',每当我声明4整数时,argc必须为5.
argc
和argv
与您在程序中声明的变量数量无关。 argc
表示从命令行运行时提供的参数数量。 argv
是指向您的参数的char指针数组(包括程序本身的名称)。
假设您的程序名为proc
。您需要从命令行运行它(或者您需要从IDE中找到如何提供命令行参数)。
./proc 5 10 15 20
数字5,10,15,20将是您的argv[1]
.. argv[4]
答案 1 :(得分:0)
您应该从命令行输入不少于4个参数。
将参数分隔为space
。
答案 2 :(得分:0)
Int argc 是参数计数,表示您传递的参数数量,包括程序名称。
char指针数组表示参数