可能很多学习C语言的人都没有关注main()函数的返回值,一般都在程序的末尾习惯性的加一句 return 0;
并没有关注过为什么要这样写,存在的意义是什么。下面我就来讲一讲吧。
C语言主函数一般的写法:
#include<stdio.h>
int main(int argc,char* argv[])
{
printf("%s\n",argv[0]);
printf("%s\n",argv[1]);
printf("%s\n",argv[2]);
printf("%s\n",argv[3]);
return 0;
}
linux系统下编运行结果如下:
从图片中可以看出,argc参数是记录参数个数的变量,argv指针数组是记录参数的。参数依次放入argv[0],argv[1],argv[2]....;
在这里是
argv[0]=a.out;
argv[1]=123;
argv[2]=456;
argv[3]=789;
其实是可以查看main()函数的返回值,在控制台输入:echo $?
如下图:
下面讲一个实例:
在终端中模仿登录功能,输入账户名和密码,判断是否登录成功。
注:我这里用argv【1】存储用户名,用argv【2】存储密码;
代码如下:
<span style="font-size:14px;">#include<stdio.h>
#include<string.h>
int main(int argc,char* argv[])
{
char username[5]="hero";
char password[5]="1234";
printf("%s\n",argv[0]);
printf("%s\n",argv[1]);
printf("%s\n",argv[2]);
printf("%s\n",username);
printf("%s\n",password);
if(strcmp(argv[1],username)==0)
{
if(strcmp(argv[2],password)==0)
{
printf("login OK\n");
}
else
{
printf("login false \n");
return 1;
}
}
else
{
printf("login false \n");
return 1;
}
return 0;
}
</span>
在终端中编译运行如下截图: