标题:程序报错不知错在哪儿
只看楼主
lrcdddd
Rank: 1
等 级:新手上路
帖 子:41
专家分:0
注 册:2014-7-3
结帖率:11.11%
已结贴  问题点数:10 回复次数:3 
程序报错不知错在哪儿
E:\Users\lrc\Documents\C语言学习文件\建立并输出链表.cpp(53) : error C2601: 'newnode_record' : local function definitions are illegal
E:\Users\lrc\Documents\C语言学习文件\建立并输出链表.cpp(66) : error C2601: 'listall' : local function definitions are illegal
E:\Users\lrc\Documents\C语言学习文件\建立并输出链表.cpp(74) : fatal error C1004: unexpected end of file found
就是这个报错,错在哪儿呢




#include<stdio.h>
#include<stdlib.h>
#include<malloc.h>
typedef struct student
{
    int num;
    char name[20];
    char sex;
    int age;
    struct student *next;
}STU;
void main()
{
    STU *head,*tail,*pf;
    STU *newnode_record();
    void listall(STU *L);
    head=tail=0;
    char st;
    printf("请输入的一个字母:\n");
    st=getchar();
    while(1)
    {  
       if(st=='e'||st=='E')
       {
         pf=newnode_record();
         if(head==0)
         {head=pf;}
         else
         {tail->next=pf;}
        tail=pf;
        printf("请再输入的一个字母:\n");
        st=getchar();
        break;
       }
      else if(st=='l'||st=='L')
      {
       listall(head);
       printf("请再输入的一个字母:\n");
       st=getchar();
       break;
      }
      else
      {
       printf("非法字母!!!");
       break;
      }
}
STU *newnode_record()
{
    STU *newnode;
    int size=sizeof(STU);
    newnode=(STU *) malloc(size);
    scanf("%d",&newnode->num);
    scanf("%s",newnode->name);
    getchar();
    scanf("%c",&newnode->sex);
    scanf("%d",&newnode->age);
    newnode->next=0;
    return(newnode);
}
void listall(STU *L)
{
    STU *p=L;
    while(p!=0)
    {
        printf("%d  %s  %c  %d",p->num,p->name,p->sex,p->age);
        p=p->next;
    }
}
搜索更多相关主题的帖子: Documents unexpected function C语言学习 include 
2014-08-07 21:06
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
得分:7 
会数数吗?编译信息告诉你错在哪儿:第53行,局部函数定义非法。
明明有答案的东西,还拿出来问人。

授人以渔,不授人以鱼。
2014-08-07 21:31
lrcdddd
Rank: 1
等 级:新手上路
帖 子:41
专家分:0
注 册:2014-7-3
得分:0 
少了一个大括号
2014-08-07 21:48
lrcdddd
Rank: 1
等 级:新手上路
帖 子:41
专家分:0
注 册:2014-7-3
得分:0 
#include<stdio.h>
#include<stdlib.h>
#include<malloc.h>
typedef struct student
{
    int num;
    char name[20];
    char sex;
    int age;
    struct student *next;
}STU;
void main()
{
    STU *head,*tail,*pf;
    STU *newnode_record();
    void listall(STU *L);
    head=tail=0;
    char st;
    printf("开始操作时,请输入的一个字符:\n");
    st=getchar();
    while(st=='e'||st=='E')
    {  
        pf=newnode_record();
        if(head==0)
        {head=pf;}
        else
        {tail->next=pf;}
        tail=pf;
        getchar();
        printf("输入操作码:\n");
        scanf("%c",&st);
    }
    if(st=='l'||st=='L')
    {
        listall(head);
    }
    else
        printf("非法字符!!!");
      
}
STU *newnode_record()
{
    STU *newnode;
    int size=sizeof(STU);
    newnode=(STU *) malloc(size);
    scanf("%d",&newnode->num);
    scanf("%s",&newnode->name);
    getchar();
    scanf("%c",&newnode->sex);
    scanf("%d",&newnode->age);
    newnode->next=0;
    return(newnode);
}
void listall(STU *L)
{
    while(L!=0)
    {
        printf("%d  %s  %c  %d\n",L->num,L->name,L->sex,L->age);
        L=L->next;
    }
}
建立并输出链表,大功告成!!
2014-08-07 22:14



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-434812-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.484857 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved