g.0 2019-10-13 11:04 采纳率: 0%
浏览 1568

为什么dev c代码修改以后编译运行仍然运行出原结果?

改之前的代码如下,后来删除了82和148行的cout,编译结果却没有变化,重开了dev c也仍然没法解决这个问题。
更改后结果仍然未变
图片说明

编译似乎也无问题图片说明

而如果把代码复制重新重新编译能正确获得结果。

#include<iostream>
using namespace std;
typedef struct StackNode
{
    char data;
    struct StackNode *next;
}StackNode,*LinkStack;
typedef struct QNode
{
    char data;
    struct QNode *next;
}QNode,*QueuePtr;
typedef struct
{
    QueuePtr front;
    QueuePtr rear;
}LinkQueue;
class check
{
 private:
 public:
    LinkQueue Q;
    LinkStack S;
    int CreateStack(LinkStack &S);
    int PushStack(LinkStack &S,char e);
    int PopStack(LinkStack &S,char &e);
    int GetStack(LinkStack &S,char &e);
    int CreateQueue(LinkQueue &Q);
    int EnterQueue(LinkQueue &Q,char e);
    int DeleteQueue(LinkQueue &Q,char &e);
    int checking(LinkQueue &Q,LinkStack &S);
};
int check::CreateStack(LinkStack &S)
{
    S=new StackNode;
    if(!S)
    {
        cout<<"error"<<endl;
        return 0;
    }
    S=NULL;
    return 1;
}
int check::PushStack(LinkStack &S,char e)
{
    StackNode *q;
    q=new StackNode;
    q->data=e;
    q->next=S;
    S=q;
    return 1;
}
int check::PopStack(LinkStack &S,char &e)
{
    if(S==NULL)
        return 0;
    StackNode *p;
    e=S->data;
    p=S;
    S=S->next;
    delete p;
    return 1;
}
int check::GetStack(LinkStack &S,char &e)
{
    e=S->data;
    return 1;
}
int check::CreateQueue(LinkQueue &Q)
{
    Q.front=Q.rear=new QNode;
    if(!Q.front)
        return 0;
    Q.front->next=NULL;
    cout<<"请输入:(结束前请输入 / )"<<endl;
    char e;
    cin>>e;
    while(e!='/')
    {
        EnterQueue(Q,e);
        cin>>e;
        cout<<e<<" ";
    }
    return 1;
}
int check::EnterQueue(LinkQueue &Q,char e)
{
    QNode *p;
    p=new QNode;
    p->next=NULL;
    p->data=e;
    Q.rear->next=p;
    Q.rear=Q.rear->next;
    return 1;
}
int check::DeleteQueue(LinkQueue&Q,char &e)
{
    QNode *p;
    p=Q.front->next;
    e=p->data;
    Q.front->next=p->next;
    if(Q.rear==p)
    {
        Q.rear=Q.front;
        return 0;
    }
    delete p;
    return 1;
}
int check::checking(LinkQueue &Q,LinkStack &S)
{
    int i=1,t=0;
    char e;
    while(i!=0)
    {
        i=DeleteQueue(Q,e);
        t++;
        if(e=='('||e=='[')
        {
            PushStack(S,e);
        }
        else if(e==']')
        {
            char c;
            PopStack(S,c);
            if(c!='[')
            {
                cout<<"error: can't find [ , position:"<<t<<endl;
                return 0;
            }
        }
        else if(e==')')
        {
            char c;
            PopStack(S,c);
            if(c!='(')
            {
                cout<<"error: can't find ( , position"<<t<<endl;
                return 0;
            }
        }
    }
    if(PopStack(S,e))
    {
        cout<<"error: can't find ] or ) to combo"<<endl;
        return 0;
    }   /*这个if执行对每个左括号都需要右括号来配对的判断,原题目并不做此要求*/
    cout<<i<<" ";
    return 1;
}
int main()
{
    class check C;
    C.CreateStack(C.S);
    C.CreateQueue(C.Q);
    int k=0;
    k=C.checking(C.Q,C.S);
    if(k==1)
        cout<<"error:0"<<endl;
    return 0;
}

  • 写回答

2条回答 默认 最新

  • leishapolang33 2019-10-14 13:28
    关注

    删除文件对应的目标文件,或者修改一下文件名称再重新编译看看。

    评论

报告相同问题?

悬赏问题

  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?
  • ¥15 求daily translation(DT)偏差订正方法的代码
  • ¥15 js调用html页面需要隐藏某个按钮