首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

帮忙看看调试有关问题处在哪里

2012-03-12 
帮忙看看调试问题处在哪里?#include stdlib.h #include stdio.h #defineLENsizeof(structSTU)structST

帮忙看看调试问题处在哪里?
#include "stdlib.h "
#include "stdio.h "
#define   LEN   sizeof(struct   STU)
struct   STU
  {int   num;
    float   score;
    struct   STU   *next;
  };


main()
{
  int   n,i;
  struct   STU   *head,*p,*q;


  head=NULL;
  q=NULL;


  printf( "please   input   one   information   of   a   student:\n   number= ");
  scanf( "%d ",&n);


  while(n> 0)
  {
        p=(struct   STU*)malloc(LEN);
        //p-> num=n;


        printf( "please   input   the   num   and   score:   ");
        scanf( "%d,%f ",   &(p-> score),   &(p-> num));

        p-> next=NULL;

        if(head==NULL)
        head=p;

        else
        q-> next=p;


        q=p;

        printf( "please   input   the   information   of   student:\n   number= ");
        scanf( "%d ",&n);
  }

  p=head;
  for(i=0;p!=NULL;i++)
    {p=p-> next;
    }
  printf( "The   node   of   this   list   is:   %d\n ",i);
  getch();
}



[解决办法]
上边的代码可以优化一下,把if(head==NULL)放在循环外边效率会高些。

热点排行