不知道为什么,这窗口闪退

#include
using namespace std;
int ma(int);
int main()
{
int lang;
cout << "请为lang输入一个数字:";
cin >> lang;
cout << ma(lang);
cin.get();
return 0;
}
int ma(int lang)
{
return lang * 220;
}
我是用的vs2013,建的空项目在源文件添加的cpp

因为 cin.get() 获取到了回国换行符,所以就退出了。
其实这种问题,最简单的方法就是调试一下,用一个变量获取一下 cin.get() 的返回,再看看这个变量的数值就可以分析出来的。

用sysyem("pause");替代cin.get();return 0;可以解决,可是为啥会失效???

在cin.get()下面再加一个cin.get()试试,可能是你缓冲区里本来就有一个字符。

cin.get();
->
getchar();