使用c 编译时,控制台一闪而过,system("pause")完全没用

#include<iostream>usingnamespacestd;voidmain(){intsum=1;intsum2=2;cout<<sumsum2<<endl... #include<iostream>
using namespace std;
void main()
{
int sum=1;
int sum2=2;
cout<<sum sum2<<endl;
system("pause");

}
展开
 我来答
晓光之尘
2018-03-17
知道答主
回答量:13
采纳率:57%
帮助的人:2.5万
展开全部
这不是system(“pause”)的问题。你这个程序是不能运行的,所以你一打开就被系统给毙了。
我不知道你用的是什么编译器,建议你去用devc++,这段代码里有好几处语法错误,很多编译器都是可以直接报错的,我给你简单分析一下。
第一,main函数必须是int型返回值,不可以是void,而且必须在程序结束的地方加上
return 0;语句,否则对应系统来说这就是个异常运行的程序。
第二,cout语句每一段数据流只能是一个变量(或是表达式)或者一段字符串,还有其他一些特殊格式比如endl,也就是换行。你写了“cout << sum sum2 << endl;”你在sum和sum2直接加了空格,系统就不会认你这个语句,正确写法是“cout << sum << " " << sum2 << endl;”,利用英文半角格式下的双引号所限定的一段字符串,我这里就打了空格,运行时就也会打印一个空格。
楼下的说法是不对的,devc++在5版本后支持编译器内打开一个程序时自动暂停,但那不是自动在代码后面加system(“pause"),而是另一个功能——性能测试所提供的效果。如果你不加system("pause"),把编译好的程序直接打开的话也会一闪而过。
system("pause")的意义主要在于给使用者提供方便,但大多数程序需要执行完后快速的自行关闭,这样才能节省系统的资源。
存怀慧E
2018-03-17 · TA获得超过1121个赞
知道小有建树答主
回答量:6288
采纳率:80%
帮助的人:210万
展开全部
闪一下就消失是正常的。
因为程序语句一句句地执行,没有什么让它暂停下来,以计算机执行速度之快,当然一闪而过。
至于为什么有的要加暂停有的不用加暂停也行,
那是因为有的是调试运行,有的是运行
按ctrl+F5运行就不会一闪就消失了,这样就不用加system("pause");
有的编译器(例如Dev-C++)会在代码最后自动加上system("pause");以防止新手看不到输出结果。不过我还是习惯用cin.get();。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式