关于#c语言#的问题:键盘输入若干字符串,约定输入一个空行时,然后将所有字符串排降序后输出,要求将排序操作定义为函数,函数原型为:void sort(char s[M][N],int x)

键盘输入若干字符串,约定输入一个空行时,输入结束,然后将所有字符串排降序后输出,要求将排序操作定义为函数,函数原型为:void sort(char s[M][N],int x); // x为字符串的实际个数

M和N是常量吗?

#include <stdio.h>
#include <string.h>
#define M  100
#define N   30
void sort(char s[M][N],int n)
{
    int i,j;
    char t[N];
    for(i=0;i<n-1;i++)
      for(j=0;j<n-i-1;j++)
      {
          if(strcmp(s[j],s[j+1]) > 0)
          {
              strcpy(t,s[j]);
              strcpy(s[j],s[j+1]);
              strcpy(s[j+1],t);
          }
      }
}
int main()
{
    int i=0,n=0;
    char s[M][N] = {0};
    gets(s[n]);
    while(strlen(s[n]) > 0)
    {
        n++;
        gets(s[n]);
    }
    sort(s,n);
    for(i=0;i<n;i++)
        puts(s[i]);

    return 0;
}