为什么这个代码运行不了啊,strcmp应该怎么用

题目:
3. 字符串排序
【设计要求】
(1)编写程序,读入10个字符串,按由小到大的顺序输出;
(2)定义排序函数void sort(char content[][80], int n)完成给定的n个字符串的排序;
【输入格式】
输入为由空格分隔的10个非空字符串,每个字符串不包括空格、制表符、换行符等空白字符,长度小于80。
【输出格式】
按照以下格式输出排序后的结果:
After sorted:
每行一个字符串
【输入样例】
red orange yellow green blue purple white black grey pink
【输出样例】
After sorted:
black
blue
green
grey
orange
pink
purple
red
white
yellow

我的代码
#include<stdio.h>
#include<string.h>
void sort(char content[][80],int n);
int main()
{
int i;
char a[10][80];
for(i=0;i<10;i++)
scanf("%s",&a[i][80]);
sort(a,10);
printf("After sorted:\n");
for(i=0;i<10;i++)
{
printf("%s",a[i][80]);
printf("\n");
}

return 0;

}
void sort(char content[][80],int n)
{
char temp;
int i,j,k;
int u=strcmp(const char content[j][80],const char content[i][80]);
for(i=0;i<n-1;i++)
{
k=i;
for(j=1;j<n;j++)
if(u>0)k=j;
if(k!=i)
{
temp=content[i][80];
content[i][80]=content[k][80];
content[k][80]=temp;
}
}
}

代码拿去,请采纳

#include<stdio.h>
#include<string.h>
void sort(char content[][80], int n);
int main()
{
    int i;
    char a[10][80];
    for (i = 0; i < 10; i++)
        scanf("%s", a[i]);
    sort(a, 10);
    printf("After sorted:\n");
    for (i = 0; i < 10; i++)
    {
        printf("%s", a[i]);
        printf("\n");
    }

    return 0;
}
void sort(char content[][80], int n)
{
    char temp[80];
    int i, j;
    for (i = 0; i < n - 1; i++)
    {
        for (j = i + 1; j < n; j++)
        {
            if (strcmp(content[i], content[j]) == 1)
            {
                strcpy(temp, content[i]);
                strcpy(content[i], content[j]);
                strcpy(content[j], temp);
            }
        }
    }
}