带参数的main函数,应该怎样运行呢

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了带参数的main函数,应该怎样运行呢相关的知识,希望对你有一定的参考价值。

1、首先打开编程软件,输入一个c语言的源码来测试。

2、让其输出第一个int类型的数,但这样还不清晰。

3、接下来使用while循环让其输出输入的字符串。

4、完成后,进行编译。然后回车执行后,就能够看到输出的参数信息,说明程序已经成功获取参数。

参考技术A 运行方法:
(假设你的程序为Untitled1.exe)
打开命令提示符:
转到你的Untitled1.exe的目录,
输入下列命令:
Untitled1.exe a basdfsa 1314324 -k -f
回车就可以运行了。

这时,在Main函数里定义的
int main(int argc, char *args[])
里的argc = 6,就是表示有六个参数,
对应的
args[0] = "Untitled1.exe";
args[1] = "a";
args[2] = "basdfsa";
args[3] = "1314324";
args[4] = "-k";
args[5] = "-f";

就是这样子了。本回答被提问者和网友采纳
参考技术B C程序最大的特点就是所有的程序都是用函数来装配的。main( )称之为主函数,是所有程序运行的入口。其余函数分为有参或无参两种,均由main( )函数或其它一般函数调用,若调用的是有参函数,则参数在调用时传递。
main( )

. . .
y1 = f1(x1, x2);
. . .

f1(int a,int b)

. . . .
Y 2 = f 2 ( x 3 , x 4 ) ;
. . . .

f2( int m,int n)

. . . .
. . . . .

对main( )函数始终作为主调函数处理,也就是说,允许main( )调用其它函数并传递参数。事实上, main( )函数既可以是无参函数,也可以是有参的函数。对于有参的形式来说,就需要向其传递参数。但是其它任何函数均不能调用main( )函数。当然也同样无法向main( )函数传递,只能由程序之外传递而来。这个具体的问题怎样解决呢?
我们先看一下main( )函数的带参的形式:
main(argc, argv)
int argc,char * argv[];

. . . . .

从函数参数的形式上看,包含一个整型和一个指针数组。当一个C的源程序经过编译、链接后,会生成扩展名为. E X E的可执行文件,这是可以在操作系统下直接运行的文件,换句话说,就是由系统来启动运行的。对main( )函数既然不能由其它函数调用和传递参数,就只能由系统在启动运行时传递参数了。
在操作系统环境下,一条完整的运行命令应包括两部分:命令与相应的参数。其格式为:
命令参数1 参数2 . . . .参数n¿
此格式也称为命令行。命令行中的命令就是可执行文件的文件名,其后所跟参数需用空格分隔,并为对命令的进一步补充,也即是传递给main( )函数的参数。
命令行与main( )函数的参数存在如下的关系:
设命令行为: program str1 str2 str3 str4 str5
其中program 为文件名, 也就是一个由program.c 经编译、链接后生成的可执行文件program.exe,其后各跟5个参数。对main( )函数来说,它的参数arc记录了命令行中命令与参数的个数,共6个,指针数组的大小由参数argc的值决定,即为char *argv[6]。

数组的各指针分别指向一个字符串。应当引起注意的是接收到的指针数组的各指针是从命令行的开始接收的,首先接收到的是命令,其后才是参数。
参考技术C 主函数的参数可以通过命令行或快捷方式指派 如某些程序附加-window参数就是窗口运行 多数程序不需要参数也可以运行 这主要看程序是怎么写的了 接收参数一般只接受一个字符串数组 该数组的元素值就是根据输入的参数依次排列出来的 参考技术D 我只说说如何运行!!
将你编好的代码文件(姑且命名为CODE.C)编译连接成可执行文件CODE.EXE,在dos模式下进入到CODE.EXE的当前目录,以下面格式运行即可。
CODE.EXE 参数1 参数2 ... 参数n

带参数的main函数

第一个带参数的main。

 

技术分享
#include <iostream.h>

 
int main(int argc,char *argv[])
{
       for(inti=0;i<argc;i++)
       {
              cout<<argv[i]<<‘\t‘;              //
       }
       return0;
}
技术分享

 

/*

int argc, char **argv 用于运行时,把命令行参数传入主程序。

argc -- 命令行参数总个数,包括 可执行程序名。

argv[i] -- 第 i 个参数。

argv[0] -- 可执行程序名。

*/

 

关于带参数的main函数网络收集:
int main(int argc,char **argv) 这里面的**argv含义··

是用来传递参数的,假如你编译成的文件名是a.exe,那么在命令提示符下可以通过a.exe12 34来向程序传递参数,这时两个参数就会传递到字符串数组argv中,注意此时实际传递了三个参数,第一个参数是文件名,第二个参数是12,第三个是34,而argc就是参数个数。

技术分享
int argc, char **argv 用于运行时,把命令行参数传入主程序。

argc -- 命令行参数 总个数,包括 可执行程序名。

argv[i] --  第 i 个参数。

argv[0] -- 可执行程序名。

 

// 例如运行:

abc.exe

argc 等于 1, argv[0] 是 "abc.exe"

 

// 例如运行:

rec.exe  4  5.2

argc 等于 3, argv[0] 是 "rec.exe", argv[1] 是 "4", argv[2] 是 "5.2".

主函数里若有:

int x;

float y;

char s[80];

strcpy(s,argv[0]);  // 程序名存入 了 s

sscanf(argv[1],"%d",&x);  // x 得到数值4

sscanf(argv[2],"%f",&y);  // y 得到数值 5.2
技术分享


ANSI-C(C89/C99)的话main()函数有2种主要形式。 

(1) int main(void) 
(2) int main(int argc, char *argv[]) 

(2)也可写成int main(int argc, char **argv) 
argv[argc]放空指针(NULL指针)。 
argc和argv可以用别名。 

另外,还有一种受系统限制的形式: 
int main(int argc, char *argv[], char *envp[]) 
前两个参数同(2),第三个参数envp[]放环境变量。 
这个形式很少用。 

所以严格讲, 
ANSI-C推荐的带参数的main()函数只有上面(2)这一种。 

另外,搜集了一下C和C++中常见的几种形式: 

技术分享
(1) main() 
(2) int main() 
(3) int main(void) 
(4) int main(int, char**) 
(5) int main(int, char*[]) 
(6) int main(int argc, char **argv) 
(7) int main(int argc, char *argv[]) 
(8) int main( int argc, char *argv[], char*envp[]) 
(9) void main(void) 
技术分享

(1)是(3)的简写。不推荐使用。 
(2)是(3)的简写。在C++中是正确的形式。 
(3)在C和C++中都是正确的形式。推荐使用。(还有缺省int的main(void)形式)。 
(4)和(5)是不用参数时的一种写法。编译器级别高时会警告。不推荐使用。 
(6)是(7)的另外写法。两种都可以,凭个人爱好。 
(7)是带参数的正确的形式。推荐使用。 
(8)是一种很少用的写法,且受系统限制。 
(9)一般不认为是正确的写法。但是在嵌入式系统中有使用(包括void main()形式)

















以上是关于带参数的main函数,应该怎样运行呢的主要内容,如果未能解决你的问题,请参考以下文章

Java工程打包jar,里面有一个main函数,怎么用Tomcat执行main函数呢?这个main函数的类继承Runnable

C语言带参数的main函数

C# dll里main函数如何运行

带参数的main函数

在linux下怎么运行main函数

c++ 让main函数循环运行大家都是怎么做的?