同班的一个同学总是有很多丰富的问题,这些问题五花八门,但又别具一格,赏心悦目却又让人应接不暇.
这一次的问题是关于C语言的main主函数所带的参数问题,幸而下课时一旁的老师听见了,及时的帮我了个大忙,其实这个问题我也胡里胡涂.现在清楚多了.
每个应用程序后面都可以跟一些参数来控制程序初始化的状态.
看以下程序
程序代码
#include
void main(int argc, char *argv[])
{
int i;
for(i = 0; i < argc; i++)
printf("%s%s", argv[i], (i < argc - 1) ? " " : "");
printf("\n");
}
这个简单的程序什么都不干,只是将接收到的函数参数原原本本的打印出来,让我们看清楚我们的参数是如何被应用程序调用的.
int argc代表整形的传入的参数个数
char *argv[]代表指向传入的字符型参数地址的指针变量,通过访问这些指针,我们能得到传入的是什么
让我们输入一些参数来测试吧
切忌在命令行下进行操作,不然怎么加参数呢
什么?命令行是什么?
Windows NT/XP及以上用户运行cmd
Windows 98/Me及以下用户运行command(用这些操作系统的可以列为国家保护动物了)
命令行下直接输入程序名:我这里叫test(.exe)
程序返回的确实是所在磁盘路径D:\TURBOC2\WORKING\TEST.EXE
输入test 123
返回D:\TURBOC2\WORKING\TEST.EXE 123
这一次的问题是关于C语言的main主函数所带的参数问题,幸而下课时一旁的老师听见了,及时的帮我了个大忙,其实这个问题我也胡里胡涂.现在清楚多了.
每个应用程序后面都可以跟一些参数来控制程序初始化的状态.
看以下程序
程序代码
#include
void main(int argc, char *argv[])
{
int i;
for(i = 0; i < argc; i++)
printf("%s%s", argv[i], (i < argc - 1) ? " " : "");
printf("\n");
}
这个简单的程序什么都不干,只是将接收到的函数参数原原本本的打印出来,让我们看清楚我们的参数是如何被应用程序调用的.
int argc代表整形的传入的参数个数
char *argv[]代表指向传入的字符型参数地址的指针变量,通过访问这些指针,我们能得到传入的是什么
让我们输入一些参数来测试吧
切忌在命令行下进行操作,不然怎么加参数呢
什么?命令行是什么?
Windows NT/XP及以上用户运行cmd
Windows 98/Me及以下用户运行command(用这些操作系统的可以列为国家保护动物了)
命令行下直接输入程序名:我这里叫test(.exe)
程序返回的确实是所在磁盘路径D:\TURBOC2\WORKING\TEST.EXE
输入test 123
返回D:\TURBOC2\WORKING\TEST.EXE 123
作者:jackxiang@向东博客 专注WEB应用 构架之美 --- 构架之美,在于尽态极妍 | 应用之美,在于药到病除
地址:https://jackxiang.com/post/533/
版权所有。转载时必须以链接形式注明作者和原始出处及本声明!
评论列表