鱼C论坛

 找回密码
 立即注册
查看: 4425|回复: 8

向main()传递参数

[复制链接]
发表于 2013-5-21 16:31:48 | 显示全部楼层 |阅读模式
5鱼币
本帖最后由 大西洋1912 于 2013-5-21 16:36 编辑
  1. #include <stdio.h>
  2. void main(int argc, int *argv[]){
  3.       printf("%s\n", *(argv++));
  4. }
复制代码
为什么直接运行得到的是当前可执行文件的路径,在cmd中得到的是可执行文件的名字,将int *argv[]改为char *argv[]也是一样的

最佳答案

查看完整内容

你可以试着在控制台中运行你的程序,把你的程序改一下命令行中输入 程序全路径.exe 参数1 参数2 。。。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-5-21 16:31:49 | 显示全部楼层
本帖最后由 熊文杰 于 2013-5-21 17:12 编辑

你可以试着在控制台中运行你的程序,把你的程序改一下
  1.         void main(int argc, char *argv[]){
  2.                 int i = 0;
  3.                 for (i = 0; i < argc; i++)
  4.                 {
  5.                         printf("%s\n", *(argv++));
  6.                 }
  7.                
  8.                 int j = 0;
  9.                
  10.                 while (0 == j)
  11.                 {
  12.                         printf("输入1退出:")
  13.                         scanf("%d",&j);
  14.                 }
  15.         }
复制代码
命令行中输入 程序全路径.exe 参数1 参数2 。。。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-5-21 16:52:49 | 显示全部楼层
先来说明一下,两个参数的意思。第一个参数是命令的个数。
比如 test.exe -t -f
这里argc就是3,这三个参数放在argv数组中,第一个参数显然就是可执行文件的完整路径,第二个就是-t 第三个就是-f
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-5-21 17:20:57 | 显示全部楼层

额,貌似懂了,貌似又没懂的感觉
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-5-21 17:59:02 | 显示全部楼层
大西洋1912 发表于 2013-5-21 17:20
额,貌似懂了,貌似又没懂的感觉

哪里不懂?
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-5-21 21:49:43 | 显示全部楼层

几个参数的意思都知道,但就是搞不懂为什么指针数组的指针怎么就指向文件的名字和路径去了,反而是输入的参数没有能够存放进指针数组中(没有指向输入的字符串)
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-5-21 22:03:07 | 显示全部楼层
大西洋1912 发表于 2013-5-21 21:49
几个参数的意思都知道,但就是搞不懂为什么指针数组的指针怎么就指向文件的名字和路径去了,反而是输入的 ...

输入的参数有存放进数组中啊。我上面不是写了一段代码么。你运行了就知道了。
你的代码中只printf了一次,而且printf的就是指针数组中的第一个元素。你本来就只显示了一个。。。
你如果想全部显示出来就加个循环。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-5-21 22:54:41 | 显示全部楼层
熊文杰 发表于 2013-5-21 22:03
输入的参数有存放进数组中啊。我上面不是写了一段代码么。你运行了就知道了。
你的代码中只printf了一次 ...

哦,懂了,忽略的循环,二了
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-5-23 21:40:34 | 显示全部楼层
我只是路过打酱油的。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-7-28 02:24

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表