```c
void program3(char a[][MAX],int n,int l)
{
int i,seek;
char * ptr;
for(i=0;i<l;i++)
{
for(seek=i+1;seek<=l;seek++)
{
if(strlen(a[i])>strlen(a[seek]))
{
ptr=a[i];
a[i]=a[seek];
a[seek]=ptr;
}
}
puts(a[i]);
}
}
```为什么显示左操作数必须是左值啊,我这的不是左值吗?
a[i]是字符数组,应该不能直接赋值,要用指针吧?