#include <stdio.h>
int main(int argc, char* argv[])
{
int i;
i = argv[1];
return 0;
}
请教一下各位,我想要将 argv[] 中的整数传递给整型变量应该怎么做呢?
使用 stdlib 的 atoi a(ascii码)to (转) i (integer 整数),如果有用麻烦点个采纳吧,谢谢~
#include <stdlib.h>
#include <stdio.h>
int main(int argc, char* argv[])
{
int i;
i = atoi(argv[1]);
return 0;
}
int main(int argc,char *argv,char *envp)
主函数实际上有三个参数:
argc:表示有命令行参数个数,第一个为可执行行程序名,argc最少为1。
argv:参数名。
envp:系统的环境变量,很少使用,下文不使用该参数。
tip:主函数带参数,第一个参数必须是int型,用来接收形参个数,第二个参数必须是字符指针数组,用来接收从操作系统命令行传来的一个字符串的地址。
主函数参数来源:
主函数的参数其实是程序的“命令行参数”,argc(argument count)是参数个数,argv(argument vector)是参数向量,是一个char *类型指针数组,数组中的每一个元素(其值为指针)指向命令行中的一个字符串的首字符。
主函数由操作系统调用,其参数也由操作系统传递,在DOS,UNIX和LINUX操作系统的命令行中包括了命令名和传递给主函数的参数。
命令行的一般格式:
命令名 参数1 参数2 ··· 参数n
//我们用程序来看一下操作系统命令行给主函数传参
#include <stdio.h>
int main(int argc,char * argv[])
{
int i;
printf("we have %d argument\n",argc);
for(i=0; i<argc; i++)
{
printf("NO.%d argument is %s\n",i+1,argv[i]);
}
return 0;
return 0;
}
在linux下跑的结果:
main函数的第二个参数的不同写法:
int main(int argc,char * argv[])≈int main(int argc,char **argv)
i = atoi(argv[i]);