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
    关注

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

    评论

报告相同问题?

悬赏问题

  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
  • ¥15 lammps拉伸应力应变曲线分析
  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛
  • ¥15 请问Lammps做复合材料拉伸模拟,应力应变曲线问题
  • ¥30 python代码,帮调试,帮帮忙吧
  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建