• 首页
        • 更多产品

          客户为中心的产品管理工具

          专业的软件研发项目管理工具

          简单易用的团队知识库管理

          可量化的研发效能度量工具

          测试用例维护与计划执行

          以团队为中心的协作沟通

          研发工作流自动化工具

          账号认证与安全管理工具

          Why PingCode
          为什么选择 PingCode ?

          6000+企业信赖之选,为研发团队降本增效

        • 行业解决方案
          先进制造(即将上线)
        • 解决方案1
        • 解决方案2
  • Jira替代方案
目录

什么情况下该用带参数的int main(int argc, char *argv[])

该用带参数的int main(int argc, char *argv[])的情况:当需要程序在启动时从命令行接收参数,并且需要处理这些参数时,应该使用带参数的int main(int argc, char *argv[])函数。例如,像ping命令一样可以在命令行中传递IP地址或者其他参数给程序处理。

一、该用带参数的int main(int argc, char *argv[])的情况

当需要程序在启动时从命令行接收参数,并且需要处理这些参数时,应该使用带参数的int main(int argc, char *argv[])函数。例如,像ping命令一样可以在命令行中传递IP地址或者其他参数给程序处理。

二、int main(int argc, char *argv[])简介

int main(int argc, char *argv[])是C语言中的主函数,也是程序的入口点。

参数:

  1. argc:命令行总的参数个数,该参数包含程序名在内,也就是说argc至少为1。
  2. argv[]:是一个字符指针数组,代表指向包括程序名在内的各个命令行各参数项字符串地址,数组有效元素为argc。如果命令行有多个参数,argv[0]代表程序名,argv[1]~argv[argc-1]依次指向其他各参数项的字符串,argv[argc]的值为NULL,代表字符指针数组结尾。

例子:

如果用户输入一个参数,则打印“ no args”,如果输入两个参数,并且第二个命令参数是-a,则在命令行输出“I will deal with -a”,如果是-l,则打印“I will deal with -l”。

#include"stdio.h"
 
int main(int argc,char *argv[]){
       
       if(argc==1)
           printf("no args\n");
       else if(argc==2){
            if(strcmp(argv[1],"-a")==0)
                printf("I will deal with -a\n");
            if(strcmp(argv[1],"-l")==0)
                printf("I will deal with -l\n");
         }
   return 0;
 
}

三、C语言的优缺点

C语言的优点:

  1. 代码量小。C语言编写出来的程序所占用的存储容量比其他语言编写的程序要小。
  2. 运行速度快。C语言的速度很快,计算机中所有软件都是在操作系统上运行的,如果操作系统的速度较慢,那么在它基础上运行的软件的速度就更慢。
  3. 功能强大。C语言可以访问硬件,并且速度够快,因此它被广泛用于开发各种应用程序和操作系统。

C语言的缺点:

  1. 危险性高。C语言设计的思想是:你想怎么写程序就怎么写,只要你的这种写法错得不是很离谱,就认为你这么写有特殊的含义,可以通过。但这也意味着有很多漏洞,黑客往往会抓住这些漏洞进行攻击。
  2. 开发周期长。因为C语言是面向过程的语言,当项目变得非常复杂的时候,代码会变得难以维护,需要使用面向对象的思想重新设计程序框架。
  3. 可移植性不强。 C语言程序在其他机器上不一定能够运行,就算能够运行,结果也可能不一样。这是因为C语言缺乏像Java这样的虚拟机来保证程序在不同平台上的一致性。

延伸阅读1:C语言

C语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。尽管C语言提供了许多低级处理的功能,但仍然保持着跨平台的特性,以一个标准规格写出的C语言程序可在包括类似嵌入式处理器以及超级计算机等作业平台的许多计算机平台上进行编译。

相关文章