C语言设计

第42章


 pp1:pp2);
}
【例 10.35】输入 5 个国名并按字母顺序排列后输出。现编程如下:
#include"string.h"
main(){
  void sort(char *name[],int n);
  void print(char *name[],int n);
  static char *name[]={ "CHINA","AMERICA","AUSTRALIA",
                        "FRANCE","GERMAN"};
  int n=5;
  sort(name,n);
  print(name,n);
}
void sort(char *name[],int n){
  char *pt;
  int i,j,k;
  for(i=0;i0) k=j;
      if(k!=i){
          pt=name[i];
          name[i]=name[k];
          name[k]=pt;
      }
  }
}
void print(char *name[],int n){
  int i;
  for (i=0;i可执行文件名  参数  参数……;
    但是应该特别注意的是,main 的两个形参和命令行中的参数在位置上不是一一对应的。
因为,main 的形参只有二个,而命令行中的参数个数原则上未加限制。argc 参数表示了命令
行中参数的个数(注意:文件名本身也算一个参数),argc 的值是在输入命令行时由系统按
实际参数的个数自动赋予的。
例如有命令行为:
    C:>E24  BASIC  foxpro  FORTRAN
由于文件名 E24 本身也算一个参数,所以共有 4 个参数,因此 argc 取得的值为 4。argv 参
数是字符串指针数组,其各元素值为命令行中各字符串(参数均按字符串处理)的首地址。 指
谭浩强      C 语言程序设计               2001 年 5 月 1 日
针数组的长度即为参数个数。
小说推荐
返回首页返回目录