C/C++中如何让屏幕在return 0这后暂停?如下代码.

如是添加getchar()或者system("pause")或者Sleep(n)只能在return0;之前添加.这样我就看不到完整和运行结果了.完可的结果是有4个"des... 如是添加getchar()或者system("pause")或者Sleep(n)只能在return 0;之前添加 .这样我就看不到完整和运行结果了.完可的结果是有4个"des of",有2个是在return 0这后才会显示出来的.
所以,如何在return 0之后暂停屏幕呢?
如果没有代码可以执行,设置编辑器的方法也可以(我用vs2010).谢谢啦.~

#include<iostream>
using namespace std;
class A
{
int x;
public:
A(int m=0){x=m;cout<<"con of x="<<x<<endl;}
A(const A &a){x=a.x;cout<<"copy on"<<endl;}
~A(){cout<<"des of x="<<x<<endl;}
void set(int n){x=n;}
};
A function(A &a)
{
a.set(20);
A temp=a;
return temp;
}
int main()
{
A a1,a2(10);
a1=function(a2);
return 0;
}
展开
 我来答
帐号已注销
推荐于2017-10-14 · TA获得超过3000个赞
知道大有可为答主
回答量:1338
采纳率:75%
帮助的人:1279万
展开全部

终极解决办法,用_onexit注册回调函数,该函数可以在main函数结束之后调用.

#include<iostream>
#include<cstdlib>
using namespace std;

class A
{
    int x;
public:
    A(int m=0){x=m;cout<<"con of x="<<x<<endl;}
    A(const A &a){x=a.x;cout<<"copy on"<<endl;}
    ~A(){cout<<"des of x="<<x<<endl;}
    void set(int n){x=n;}
};

A function(A &a)
{
    a.set(20);
    A temp=a;
    return temp;
}

int fn1(void)
{
    system("pause");
    return 0;
}

int main()
{
    _onexit(fn1);
    A a1,a2(10);
    a1=function(a2);
    return 0;
}
追问
佩服!
庞绮露7
2014-01-06 · TA获得超过156个赞
知道小有建树答主
回答量:170
采纳率:0%
帮助的人:168万
展开全部

直接运行,结果如下。

不太懂你的问题是什么意思。

追问
我的结果有4个"des of x=20"...
如果添加了暂停屏幕的语句(如getchar()),
这个控制台只能显示2个.还有2个会在按下键盘后,控制台消失前显示....
我想要能显示完整结果的界面
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
真梅嘉斯
2014-01-06 · TA获得超过145个赞
知道小有建树答主
回答量:100
采纳率:0%
帮助的人:89.4万
展开全部
不介意的话可以用system("PAUSE"); #include<cstdlib>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式