main(argc, char *argv[])

#include<stdio.h>
int main(int argc, char *argv[])
{
      int i;
      for(i=0;i<argc;i++)
     {
      printf("argv[%d] is %s \n",i,argv[i]);
     }
      return 0;
}

运行结果:(命令行)

argv[0]:程序的名字。

argv[1]:指向在DOS命令行中执行程序名后的第一个字符串。

argv[2]:指向第二个字符串。

argc 是 argv[] 数组的参数的个数。

 

另外一种可变参数函数:

DEMOCODE:

#include<stdio.h>
#include<stdlib.h>
#include<stdarg.h>

int add(int num,...)  // num 代表可变参数的数量
{
    int varia,i,sum=0;
    va_list args;   // typedef char * va_list 创建指针存储地址。
    va_start(args,num); // 从这里开始读出 num个 参数,并把地址放在 args。
    for(i=0;i<num;i++)
    {
        varia = va_arg(args,int); // 读取参数,挨个读取。这里的 int 类型也可以换成其他的类型。
        printf("%d\n",varia);
        sum += varia;
    }
    va_end(args); // 结束读取
    return sum;
}

int main(void)
{
    int sum;
    sum = add(5,1,2,3,4,5);
    printf("%d\n",sum);
    printf("%d\n%d",num,++num); // 函数读取参数从右读取
    return 0;
}

 

posted @ 2018-07-24 23:22  M-Anonymous  阅读(406)  评论(0编辑  收藏  举报