#include <stdio.h>
#include <stdlib.h>
#define n 4
struct List
{
   char name[20];  
   int grade;
}stu[n]={{"L",50},{"Z",20},{"W",70},{"K",80}};
void main()
{
    int i,l,m,j,c=0,k=0;
    for(i=0;i<n;i++)
    {  for(j=0;j<20;j++)
    {    if(stu[i].name[j]==NULL) l=0;
    else l=1;
       c=c+l;
    } 
      if(stu[i].grade==NULL) m=1;
      else m=0;
     k=m+k;
       }
    if(c==0 && k==n)
    printf("信息出错\n");
    else
    {printf("共有4名学生,成绩是:50,20,70,80\n");
 /*   k=100;
    for(i=0;i<n-1;i++)
    { if(stu[i].grade<stu[i++].grade)
       j=stu[i].grade;
       else j=stu[i++].grade;
       if(k>j)
           l=j; }
    printf("%d\n",l);  }}*/
     l=xsm(&stu);
     printf("成绩最低分是:%d\n",l);
     printf("输出成绩:\n");
     for(i=0;i<n;i++)
     { if(stu[i].grade==l)m=i;}
     stu[m].grade=stu[n-1].grade;
     for(i=0;i<n;i++)
     printf("%5d",stu[i].grade);
     printf("\n"); 
    
}  }
int xsm(struct List *x)
{
    int i,j,k=100,l;
    for(i=0;i<n-1;i++,x++)
    { if(x->grade<x++->grade)
       j=x->grade;
       else j=x++->grade;
       if(k>j)
           k=j; }
    return(k);
}
  为什么k返还不了...