1. 使用c 编译时,控制台一闪而过,system("pause")完全没用
这不是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")的意义主要在于给使用者提供方便,但大多数程序需要执行完后快速的自行关闭,这样才能节省系统的资源。
2. C++编译完了一点回车窗口闪一下就没了,我是初学者,说点我能听懂的……
一、在你的代码中加入一行:system("pause");可以让程序停下来,让你看到它运行的结果。比如下面的例子:
#include<iostream>
intmain()
{
usingnamespacestd;
cout<<"helloworld"<<endl;
system("pause");//<-----注意这里
return0;
}
二、相关解说:
1、早期的c++生成的程序要求运行在命令行窗口中。
2、不懂什么意思对吧,要真正的解释,比较费事。这么说吧,按住“win键”(键盘上画了小旗的那个键)不放,按下“R”键,出来一个“运行窗”,在里面填入“cmd.exe”后点确定,会出来一个窗体,看起来是黑白的,这就是命令行窗了。
3、在命令行窗中,使用(输入)dos指令去运行你编写后生成的程序,就可以看到结果了。
4、是的,这会要求你对dos指令稍稍懂一些。好吧,如果你实在不懂dos,将你的生成的程序直接拖入命令行窗中,会自动生成相关的运行指令,回车后就可以执行。
三、下面是补充知识:
1、当前的编程一般面向win窗口编程,一般很少写那些命令行下才能显示的程序了,但一些教材中的教学还是十年如一日的以那些例子作教材。可苦了这些入门的童鞋了。
2、早先的计算机是运行在dos下的,计算机一起动就进入dos的黑白界面,看起来象命令行窗中,实际上,命令行窗就是用来“模拟”早期计算机的DOS。
3、在编程代码中,加入“暂停”之类的指令其实可以让程序自个现出“结果”的,不必手工起动命令行窗,之所以一闪而过,是因为程序运行完,显示完就“退出”了,它才不会管你在那千万分之一秒内是否看到了结果,它管的是它已经输出完了结果,所以它就走人了。
3. 我用matlab编译生成的exe文件,双击运行时一个命令窗口闪一下就没了
这和用c语言编写的程序,直接双击命令窗口闪一下就没有是一个道理。
第一种办法,可以向c语言一样,先打开cmd,然后在cmd窗口中运行这个exe,但要注意路径的问题。因此不推荐这样。
第二种方法,也和c语言类似,在你编写的m文件最后加一句暂停命令,使exe执行完之后暂停。最后加一句:
pause
这样就可以了。
若有疑问,欢迎追问。
4. 大佬大佬,我没法把程序运行界面留下来,一运行就黑色的框就闪一下然后就没了咋办
这说明你使薯汪用的编译平台没有“留存”界面的功能,可以在主函数最后的返回语句return 0;前加一句system("pause");来解决。如果你写的主函数是void main(...这样的,那就在最后一个}前加system("pause");。或者,把上述写system("pause");的地方穗手丛换成getchar();也能停下来等待让你敲猜樱任意键。供参考。
5. 在DEVC++中写完代码(代码正确),要编译运行时,运行的那个框只闪一下就没有了~这是为什么
DEVC++ 这个 IDE 就是这样的,直接调用,而不暂停。
这个没有关系,只要在命令行里运行,就会停下来了。
也可以用代码控制程序完成后暂停。
程序最后加入一行:
cin.get();
即可
6. c语言程序执行一闪而过怎么办
可以在程序结尾使用system("pause");语句阻止窗口消失。
system("pause");的头文件为#include<stdlib.h>
#include<stdio.h>
#include<stdlib.h>
void to_upper_str( char *str ) //子函数
{
while( *str )
{
if( *str >='a' && *str<='z' )
*str -= 32;
str++;
}
}
int main(){
char str[11] ;
printf("请输入10个英文字符: ");
scanf("%s",str);
str[10]='