相信大家用C语言定义main函数时,大多数人的写法都是int main(void)。其实main函数是可以向其传递参数的,给个实例:
//给main函数传参实例:
#include <stdio.h>
#include <string.h>
//int main(int argc, char *argv[])
int main(int argc, char **argv)
{
char *array[3] = {"./main", "hello", "world"};
if (argc < 2)
{
printf("error!\n");
printf("./main str\n");
return -1;
}
printf("The first string of your command is:%s\n", argv[0]);
printf("The second string of your command is:%s\n", argv[1]);
printf("The third string of your command is:%s\n", argv[2]);
if (!strcmp(argv[0], array[0]))
{
printf("The first command execute successfully!\n");
}
if (!strcmp(argv[1], array[1]))
{
printf("The second command execute successfully!\n");
}
if (!strcmp(argv[2], array[2]))
{
printf("The third command execute successfully!\n");
}
return 0;
}
输出结果:
(1)若输入命令为:./main
则输出结果为:
error!
The command is:./main
(2)若输入命令为:./main hello world
则输出结果为:
The first string of your command is:./main
The second string of your command is:hello
The third string of your command is:world
The first command execute successfully!
The second command execute successfully!
The third command execute successfully!
大家可以利用这个程序模型干很多事呢!