各位高手,先别走,问个小问题?劳驾

yuhb 2002-03-11 04:20:26
void main(int argc,char* argv[])
这种形式的参数是怎么回事,怎么向argc和argv[]赋值?
...全文
15 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
wiler 2002-03-11
  • 打赏
  • 举报
回复
这样赋值
app 1 2 3
则argv[0]="1" argv[1]="2" argv[2]="3"
argc=3
:)
简单吗?
凌波微搏 2002-03-11
  • 打赏
  • 举报
回复
这些参数得形式是固定不变的,不能将其参数改成其他类型,单由于数组传递实际上是指针,所以第二个参数char *argv[],通常也表示成char**argv,参数的取名是随意的,你可以把参数的名字取成任何你喜欢的称呼,但是,全世界都已经习惯了argc,argv这样的称呼,所以已经成为一种默契。
natureshuo 2002-03-11
  • 打赏
  • 举报
回复
agree
凌波微搏 2002-03-11
  • 打赏
  • 举报
回复
这个是系统参数,一般称为命令行参数,操作系统启动时把这些参数传递给main函数,应该有三个(int argc,char *argv[],char *env[])最后一个用得不多,比如一个程序ex11.exe,在设计得时候你给其定义了要从命令行读取参数,则调用得时候 ex11 ***,"***"为你得参数,在命令行参数中,有时候某个参数含有空格,而操作系统是以空格作为区分下一个参数得标志,解决办法是将参数用引号括起来。
ciml 2002-03-11
  • 打赏
  • 举报
回复
是命令行参数
你在菜单里运行你的程序传过去的参数。
ygd 2002-03-11
  • 打赏
  • 举报
回复
再执行程序时
例 DIR /B
/B 就是命令行参数
Sachow 2002-03-11
  • 打赏
  • 举报
回复
这是程序的启动参数,argc会被自动赋值,你不用管,而argv则被赋入程序执行的参数。
例如:你的程序名为test1.exe
这样执行:
test1 connect 88pc
其argc为3,即有3个执行参数,第一个参数是程序名称(包含程序路径),
它就是argv[0]所指向的字符串,第二个参数(argv[1])是“connect”,
第三个参数(argv[2])是“88pc”

#include <stdio.h>

int main(int argc, char *argv[])
//由于第二个参数是指向字符串的指针,所以也可以定义为:char **argv
{
int i;
for (i=0; i<argc; i++){
printf("argv[%d]: %s\n",i,argv[i]);
}
return 0;
}
duqiang2050 2002-03-11
  • 打赏
  • 举报
回复

是在命令行时用的
neccui 2002-03-11
  • 打赏
  • 举报
回复
这两个参数是系统传给你的,不需要你来赋值。
fangrk 2002-03-11
  • 打赏
  • 举报
回复
argc是参数个数
argv各个参数的字符串

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧