标题:主函数出现local function definitions are illegal怎么办
取消只看楼主
connectify
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2013-10-16
结帖率:100%
已结贴  问题点数:20 回复次数:3 
主函数出现local function definitions are illegal怎么办
void main()
{
    int m,flag;
    SqStack S;
    char a[];
    fin>>m;
    for(int i=0;i<m;++i)
        fin>>a[i];
    InitStack(S);
    flag=MergeList(S,a[],m);

    if(flag)
        fout<<"yes!";
    else
        fout<,"no!";
    fin.close();
    fout.close();
}
搜索更多相关主题的帖子: function local 
2013-10-16 22:43
connectify
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2013-10-16
得分:0 
回复 2楼 yuccn
还是报错啊
2013-10-17 19:19
connectify
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2013-10-16
得分:0 
回复 3楼 西安郑鑫
c++
2013-10-18 06:52
connectify
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2013-10-16
得分:0 
回复 5楼 wp231957
#include<iostream.h>
#include<fstream.h>
#include<math.h>
#include<stdlib.h>
#include<string.h>
#define STACK_INIT_SIZE 100
#define OK 1
ifstream fin("input.txt",ios::in);   
ofstream fout("output.txt",ios::out);

struct SqStack
{
    char *base;
    char *top;
    int  stacksize;
};
void push(SqStack &S,char e)
{
    *S.top++=e;
}
int pop1(SqStack &S,char k)
{
    k=*--S.top;
    if(k==')')
        return 1;
    else
        return 0;
}
int pop2(SqStack &S,char k)
{
    k=*--S.top;
    if(k==']')
        return 1;
    else
        return 0;
}
int pop3(SqStack &S,char k)
{
    k=*--S.top;
    if(k=='}')
        return 1;
    else
        return 0;
}
int StackEmpty(SqStack &S)
{
    if(S.top==S.base)
        return 1;
    else
        return 0;
}


int MergeList(SqStack S,char a[],int j)
{
    char e,k;
    for(int i=0;i<j;++i)
    {
        e=a[i];
        switch(e)
        {
        case '(':
            push(S,e);
            break;
        case '[':
            push(S,e);
            break;
        case '{':
            push(S,e);
            break;
        case ')':
            if(StackEmpty(S))
                return 0;
            else
                if(!pop1(S,k))
                    return 0;
                else
                    break;
        case ']':
            if(StackEmpty(S))
                return 0;
            else
                if(!pop2(S,k))
                    return 0;
                else
                    break;
        case '}':
            if(StackEmpty(S))
                return 0;
            else
                if(!pop3(S,k))
                    return 0;
                else
                    break;
        }
        if(StackEmpty(S))
            return 1;
        else
            return 0;
    }

char InitStack(SqStack &S)
{
    S.base=(char *)malloc(STACK_INIT_SIZE*sizeof(char));
    if(!S.base)
        exit(OVERFLOW);
    S.top=S.base;
    S.stacksize=STACK_INIT_SIZE;
    return Ok;
}

void main()
{
    int m,flag;
    char a[100]={0};
    SqStack S;
    fin>>m;
   
    for(int i=0;i<m;++i)
        fin>>a[i];
    InitStack(S)
    flag=MergeList(S,a[],m);

    if(flag)
        fout<<"yes!";
    else
        fout<,"no!";
    fin.close();
    fout.close();
}
修改了请具体说明原因
3q
2013-10-18 06:53



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




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

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