C语言中关于变量的使用

void sort(int array[],int n)

{ int i,j,t;

for(i=0;i<n-1;i++)

for(j=i+1;j<n;j++)

{ if(array[i]<array[j])

t=array[i];array[i]=array[j];array[j]=t; } }

用k的好处是什么?

你没有一个叫做k的变量
只有i j是循环变量,t是作为交换的中间变量。

另外,你的排序算法非但谈不到好处,而且根本不对。
我测试了下

#include <stdio.h>

void sort(int array[],int n)

{ int i,j,t;

for(i=0;i<n-1;i++)

for(j=i+1;j<n;j++)

{ if(array[i]<array[j])

t=array[i];array[i]=array[j];array[j]=t; } }

int main () {
    int arr[6] = { 3, 7, 2, 9, 4, 8 };
    sort(arr, 6);
    int i;
    for (i = 0; i < 6; i++) printf("%d ", arr[i]);
    return 0;
}

输出
8 4 2 2 2 2

显然不对

之所以不对,表面原因是if下面交换的花括号忘记写了,深层次原因是你写程序良好的习惯没有培养起来,缺少缩进和正确的换行。

修改为
{t=array[i];array[i]=array[j];array[j]=t;} } }

则输出结果
9 8 7 4 3 2

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^