#include "stdio.h"
#include "string.h"
main(int argc,char *argv[])
{
int i,len=0;
for(i=1;i<argc;i++)
len+=strlen(argv[i]);
printf("%d\n",len);
}
书上说此程序编译连接生成的可执行文件是exl.exe。若运行时输入带参数的命令行是:ex1 abcd efg 10
则运行的结果是9!
请问如何编译连接生成的可执行文件是exl.exe。。。我把上面的程序输入后只组建后弹出个黑色窗口,显示0.而且无法输入ex1 abcd efg 10
对C语言中main函数的参数的问题
答案:5 悬赏:30 手机版
解决时间 2021-05-06 12:58
- 提问者网友:我是女神我骄傲
- 2021-05-05 13:53
最佳答案
- 五星知识达人网友:荒野風
- 2021-05-05 14:09
int argc,char *argv[]
上面两个参数,在控制台方式中,基本没用过,它们的意义argc 参数个数,argv参数列表。
用 ex1 abcd efg 10 来运行,可以理解为 argc =3,因为以空格为分隔,有三个参数,而argv 里则是参数内容,当你依次取argv 元素并计算长度,就等同于计算abcdefg10字串的长度。其中各个参数是分别存放在argv的各个元素中的。
所以当使用exe方式并附参数执行的时候,输出的就是参数的总长度,此例为9
全部回答
- 1楼网友:第四晚心情
- 2021-05-05 18:27
你说点组建后弹出一个黑窗口说明你对软件还不熟悉,因为弹出黑窗口实际上是直接点运行的效果。点组建是没有变化的只会在下面的窗口提示有没有警告和错误。默认是在项目目录里的debug目录下生成exe程序。你需要开始-运行,输入cmd回车,之后用cd命令切换到那个目录下直接输入ex1 abcd efg 10 回车。
- 2楼网友:底特律间谍
- 2021-05-05 16:47
ex1 abcd efg 10 是LINUX 命令 在 gcc 中可以用
- 3楼网友:上分大魔王
- 2021-05-05 15:14
额,你是初学者还是好好下谭浩强的视频看看吧。
从这程序首先看出你写程序不细致。main(int argc,char *argv[]),main()里面既然如此定义,后面在for()里面却写错了写成argc,很不应该。其次,没有从“char **”到“int”的转换,i和argv是没法比较的,int 和 char怎么比较呢???
最后你是无法输入,请问没有scanf();或者getchar();语句,你如何输入。那个main()只是提供一个嵌套函数而已,你这个程序缺个主函数。你的C语言基础不杂实,好好加油,希望能帮到你
- 4楼网友:七十二街
- 2021-05-05 14:46
这个是带参数的main,你要在控制台下边,输入生成的可执行文件,然后在后边输入参数
或建个快捷,在快捷上添加参数也可以的
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯