全部问题 > 当前问题

怎么理解fun (char *s[],int n) 和 fun (ss,5)

我知道是调用 题目也会做 就是不理解  之前学的都是直接赋值 现在学的好像指针和地址吧  不理解

こ薄荷′绿 2016-9-17 20:05:10

共 1 个回答

qqq 2016-9-17 21:07:40

已qq私聊。

问题来自: 指针和二维数组
有以下程序
#include <stdio.h>
#include <string.h>
void fun(char *s[], int n)
{ char *t; int i, j;
  for (i=0; i<n-1; i++)
    for (j=i+1; j<n; j++)
      if (strlen(s[i]) > strlen(s[j]))  
      { t = s[i]; s[i] = s[j]; s[j] = t; }
}
main()
{ char *ss[]={"bcc","bbcc","xy", "aaaacc", "aabcc"};
  fun(ss, 5); printf("%s,%s\n", ss[0],ss[4]);
}

程序的运行结果是( )
A. xy,aaaacc
B. aaaacc,xy
C. bcc,aabcc
D. aabcc,bcc
答案:A
解析:这一题fun函数是对这个指针数组按照从小到大的顺序进行排序 输出最小和最大 选A