为什么c++程序一运行完就结束

来源:百度知道 编辑:UC知道 时间:2024/05/24 16:38:45
我使用vc6.0,写完了程序,调试完按“go”
出现dos界面后,输入完数据回车,程序跑完后,界面就立即自动关闭。

有朋友教我加上 cin.get()使其停留下来。
但有些时候还是不行。

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

void arr_rev(int a[],int n)
{
int i,j,t;
i=0;j=n-1;
while(i<j)
{t=a[i];a[i]=a[j];a[j]=t;i++;j--;}
}

void main()
{
int b[10],i;
for(i=0;i<10;i++)
{ cout<<"please input b["<<i<<"]=";
cin>>b[i];
}
arr_rev(b,10);
for(i=0;i<10;i++)
{
cout<<setw(4)<<b[i];
}
cin.get();
}

在结束前加一句:
system("pause");
以示暂停.

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

void arr_rev(int a[],int n)
{
int i,j,t;
i=0;j=n-1;
while(i<j)
{t=a[i];a[i]=a[j];a[j]=t;i++;j--;}
}

int main()
{
int b[10],i;
for(i=0;i<10;i++)
{ cout<<"please input b["<<i<<"]=";
cin>>b[i];
}
arr_rev(b,10);
for(i=0;i<10;i++)
{
cout<<setw(4)<<b[i];
}
cin.get();
cin.get(); //改动在这里,再加一个
}
因为你最后输入的时候打了一个回车后,第一个cin.get();接收的是回车,所以应该再加一个.

解决的办法有至少有三个:
1.运行程序时直接点那个“!”号,别用Go。
2.用Go,在最后设一个断点。
3.在最后加一个getch(),那不管怎么样都会停下来。

LZ可以加一个头文件
#include <conio.h>
然后在最后一行加一函数
getch();
等待用户输入。

用C语言的getchar();一定可以