C语言编好的程序一闪而过,怎么不一闪而过

C语言编好的程序一闪而过,怎么不一闪而过,第1张

void main()

{

int choice,i;//定义用户选择变量

do

{

//显示菜单

menu();

printf("\n\t请选择:");

scanf("%d",&choice); //接受用户选择

switch(choice)

{

case 1:

system("cls"); //清屏

printf("\n单个学员信息的循环录入\n");

input();

display();

system("pause");

break;

case 2:

system("cls")

display();

system("pause"); //暂停一下程序

break;

case 3:

system("cls");

if(n==0)

{

printf("\t\t学员个数为0,无法排序,请先录入!\n");

system("pause");

break;

}

else

{

sort(); ;//调用排序函数

system("pause");

break;

}

case 4:

system("cls");

insert(); //调用插入函数

system("pause");

break;

case 5:

system("cls");

remove(); //调用删除函数

system("pause");

break;

case 6:

system("cls");

search(); //调用查找函

system("pause");

break;

case 0: //退出程序

system("cls");

for(i=5;i>=0;i--)

{

Sleep(1000);

system("cls");

printf("\n\n\n\n\n\n\n\n\n\n\n\n\t\t请稍等,还有%d秒推出程序!\n\n\n",i);

}

C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。

先解释一下为什么一闪而过:

当你在vc++里运行程序,vc++将会调用行命令模式(即commandcom程序),打开你的程序。当程序执行完毕后将自动退出行命令模式。所以你来不及看你的程序的输出。

要解决这个问题,最简单的方案就是在你的代码的最后,return

0;之前,加上

getchar();

//getch()似乎不是ANSI

C的一部分

这个语句将使得你的程序做最后一件事情:从输入缓冲区(输入流stdin)中读一个字符。也就是说在你的其他程序结束后,还要敲一下回车才会结束所有程序。

但是,要注意的是:当程序快结束时,如果你的输入缓冲区中已经有字符了,c语言将直接从缓冲区中读取一个字符,然后结束程序。而不等待你的输入。

比如:

#include<stdioh>

int

main(void)

{

putchar(getchar());

//你的程序只有这么一句,作用是输入一个字符,然后计算机将它输出

getchar();//这是你为了防止一闪而过而加的语句

return

0;

}

这个程序结束时将仍然一闪而过。原因在于第一条getchar()表达式执行的时候,将返回你输入的第一个字符,后面的字符(包括回车字符'\n')留在了缓冲区。要解决这类问题,得随机应变,没有统一的解决方案。在这个例子中,可以这样:

#include<stdioh>

int

main(void)

{

putchar(getchar());

//你的程序只有这么一句,作用是输入一个字符,然后计算机将它输出

while(getchar()!='\n')

continue;//这个循环将把输入缓冲区的内容清掉,一直清到换行符。

getchar();//这是你为了防止一闪而过而加的语句

return

0;

}

复杂一点的解决方案是,不要在visual

c++中执行。你先生成可执行文件,然后打开行命令模式(运行->cmd),然后在那里运行你的程序,就不会自动退出了。

sorry,刚才试了一下,ctrl+f5确实可以,parason说的很对。

本想不发了,但是写了半天,不发也可惜,况且,从我写的这些,你可以更加理解一些原理性的东西。而且,我写的是一个通用的办法,即使不是visual

c++也可以用。

不过最佳答案千万别选我,因为我的答案和parason的比起来确实很愚蠢。

如果您是控制台程序的话可以这样设置

点击项目——项目属性;C/C++——链接器——系统——子系统——平行右边过去下拉菜单——点击控制台——确定;

具体可以看下这里:解决visual studio 运行时一闪而过的问题。

这是因为电脑运行得很快,

而你编写的程序里面肯定没有让电脑可以停歇的语句,电脑执行完程序后就自动关闭,只有想办法让它停下等咱们才能看清楚

所以建议在程序的最后加一句getchar();这时,你要加入头文件#include<conioh>。

因为这个头文件是键盘和屏幕输入输出的控制头文件。当然也有别的方法,就等你了解其原理时就知道该怎样了

因为输出之后就直接到return了,程序也就直接返回了,为了让窗口能停留,可以在printf语句之后加入getchar();,这样只有在程序运行用户敲击键盘之后才返回 。

楼上那位兄弟,他用的是C语言,不是C#

以上就是关于C语言编好的程序一闪而过,怎么不一闪而过全部的内容,包括:C语言编好的程序一闪而过,怎么不一闪而过、在VC++中为什么C程序运行后答案一闪而过来不及看清、vs2010编辑程序一闪而过,记得好像在软件里边更改某个设置可以,忘记是怎么弄了等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/9352279.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-27
下一篇2023-04-27

发表评论

登录后才能评论

评论列表(0条)

    保存