C语言main参数问题

main(intargc,char*argv[])这个里面参数如果不输入argc默认为1?还有后面如果输入参数后argv[]是怎么排列的?也是从argv[1]开始?怎么还... main(int argc,char *argv[])
这个里面参数如果不输入 argc默认为1?
还有 后面如果输入参数后 argv[]是怎么排列的?也是从argv[1]开始?
怎么还有的可以直接取argv[1][1]?这究竟是怎么取的?

下面给2个程序
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
main(int argc,char *argv[])//设定参数
{
FILE *fp1,*fp2;
char ch;
if(argc==1)//无参数提醒
{
printf("参数过少");
getch();
exit(0);
}
if((fp1=fopen(argv[1],"rt"))==NULL)//打开第一个文档
{
printf("Cannot open %s\n",argv[1]);
getch();
exit(1);
}
if(argc==2) fp2=stdout;
else if((fp2=fopen(argv[2],"wt+"))==NULL)
{
printf("Cannot open %s\n",argv[1]);
getch();
exit(1);
}
while((ch=fgetc(fp1))!=EOF)
fputc(ch,fp2);
fclose(fp1);
fclose(fp2);
}

/*****************************/
#include <stdio.h>
#include<conio.h>
#include<stdlib.h>
int main(int argc, char *argv[])
{
if(1 == argc)
{
printf("参数太少.\n");
getch();
exit(0);
}

if('s' == argv[1][1])
{
printf("发送邮件...\n");
}
else if('r' == argv[1][1])
{
printf("接收邮件...\n");
}
else
{
printf("无效参数...\n");
}
getch();

return 0;
}

在此谢谢了 刚接触到这个main参数问题
展开
 我来答
百度网友d3e418b2c
推荐于2016-02-29 · TA获得超过2195个赞
知道大有可为答主
回答量:1361
采纳率:0%
帮助的人:1699万
展开全部
默认argc为1,argv[0]为程序名称
如果输入一个参数,则argc为2,argv[0]为程序名称,argv[1]为输入的那个参数
依此类推,多个参数的情况

上面函数的意思是,如果argc等于1,表示没有输入参数,直接退出,如果不等于1,则表示肯定至少有一个参数,那么argv[1]就肯定有值了,可以进行逻辑判断处理
百度网友e59b677
2010-08-05 · TA获得超过622个赞
知道小有建树答主
回答量:926
采纳率:0%
帮助的人:250万
展开全部
在cmd中运行你link后的exe文件。
如:aa.exe para1 para2 para3...
这样
第0个参数就是aa.exe
第1个参数就是para1
第2个参数就是para2
第3个参数就是para3
...
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式