当前位置:文档之家› C语言中main函数参数用法

C语言中main函数参数用法

C语言中main函数参数用法
在C语言中 可用如下形式为main函数传递参数
void main(int arg ,char *arv[])
{
}
其中 arg纪录参数的个数,arv存放 传递的参数
我所要问得是怎样 像main函数传递一个int型参数呢??
而不是一个字符型参数

程序名 abc.exe ,带位置参数 3个 或2个 或1个 ...
abc.exe 987 65 4
abc.exe 987 65
abc.exe 987

void main(int arg ,char *arv[]){}
int型参数,通过字符传递,
char prog_name[60];
int x1,x2,x3;
strcpy(prog_name,arv[0]); // 程序名在 arv[0]
if (arg >=2) sscanf(arv[1],"%d",&x1); // 传递一个int型
if (arg >=3) sscanf(arv[2],"%d",&x2); // 传递一个int型
if (arg >=4) sscanf(arv[3],"%d",&x3); // 传递一个int型
-------------
浮点计算机参数 用 if (arg >=i) sscanf(arv[i-1],"%f",&fi); 从字符串里读出来。


只能是字符串。 你可以把字符串转int型,如果确实是数字串的话

回答者: vbtraz - 十一级 2009-7-29 01:48

这个分数有点少哦 呵呵

比如说你生成的exe文件是C:\out.exe

在命令提示符下,输入c:\out.exe this is a test

那么,
argv[0]=out.exe
argv[1]=this
argv[2]=is
argv[3]=a
argv[4]=test

明白了吧,以空格为界分隔字符串

回答者: 木之叶舞 - 三级 2009-7-29 02:05

int型的数也会被转成字符型的,比如你输入的是
程序名 123
那么argc=2,argv[1]="123".你可以用atoi或者sscanf函数把这个"123"转成123

相关主题
文本预览
相关文档 最新文档