vs编译闪退
Ⅰ c语言,为什么用vs.vc编译的控制台应用程序如果不加system(pause)会闪退,原因是什么
闪一下就消失是正常的。
因为程序语句一句句地执行,没有什么让它暂停下来,以计算机执行速度之快,当然一闪而过。
至于为什么有的要加暂停有的不用加暂停也行,
那是因为有的是调试运行,有的是运行
按ctrl+F5运行就不会一闪就消失了,这样就不用加system("pause");
有的编译器(例如Dev-C++)会在代码最后自动加上system("pause");以防止新手看不到输出结果。不过我还是习惯用cin.get();。
Ⅱ VS程序运行结果框闪退的几种解决方案:
方法一:
在return语句前面加上一个getchar();语句,此时getchar会一直等待输入,程序运行结果框就可以正常显示运行结果啦!
方法二:
在程序末尾加上:system("pause"),再加上头文件#include<stdlib.h>,运行后就会显示结果并提示按任意键继续。
方法三:
修改项目配置,右键点击项目,选择属性,然后在对话框中选择“配置属性——》链接器——》系统”,在子系统中选择“控制台”。
方法四:
如果是编译器的原因:
1: 添加:
#include <iostream>
#include <limits>
( 如果有#include “pch.h”
或者 #include “stdafx.h” 的话,要确保这两行在他们之后出现)
2:在主函数之后,return语句之前加上:std::cin.clear();
std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
std::cin.get();
提示:system("pause")只能在特定操作系统中使用(不推荐)。
最后成功!
Ⅲ vs2010 编译闪退
是vs闪退还是你的程序闪退。
如果是你程序闪退是很正常的,因为你的main函数没有任何方法阻塞,所以执行玩cout之后就返回了,主函数返回,程序就结束了。
Ⅳ 为什么VS2015运行一个Hello World的C语言程序会闪一下跳出来
一闪而过是程序自动结束,同时编译器没有提供结果驻留功能。对于此种情况,可以手动在代码结尾增加驻留功能的函数。常用的有如下两种:
1 通过getch函数驻留。
getch会等待从屏幕的输入,在main函数退出前,增加
getch();
调用,系统会等待输入,直到有新的输入,才会退出界面。
2 通过system("pause");来实现驻留。
在main退出前调用
system("pause");
会调用系统的pause函数,提示并实现按任意键退出程序效果。
如果是已经编译好的C语言程序,可以通过开始->运行,键入cmd后回车。
在打开的命令行窗口,将可执行文件拖动到窗口上,再回车即可运行该程序,在此窗口不会出现闪退,从而观察运行结果。
由于该问题仅在windows平台出现,所以以上介绍均针对windows平台。