啊哈磊_编程从这里起步

标题: c程序编译后一闪就过怎么办 [打印本页]

作者: wjz    时间: 2014-4-25 19:04
标题: c程序编译后一闪就过怎么办
本帖最后由 wjz 于 2014-4-25 19:10 编辑

c程序编译后一闪就过,输入sleep(5000);也不管用啊,再试着输入system("pause"),也不管用,求高手帮忙
作者: 愛情風華    时间: 2014-4-25 19:20
http://bbs.ahalei.com/thread-4478-1-2.html這很多人問,你看看有你的問題跟上面一樣嗎?

作者: vidas000    时间: 2014-4-25 19:34
把后面的system("pause");         return 0;加上就好了
作者: 李掌柜    时间: 2014-4-25 22:19
这些都不行??,,那就在cmd下调试吧,,介样妥妥的
作者: winkill    时间: 2014-4-25 22:41
加上    getch();         
作者: C、小白    时间: 2014-4-26 13:33
在return 0;之前加system("pause");
作者: yangchengjun    时间: 2014-4-27 19:35
这个程序是这么设计的,要不像楼上讲的,要不后面加个while(1)
作者: lexou    时间: 2014-4-28 11:54
本帖最后由 lexou 于 2014-4-28 16:25 编辑

汇编有个习惯最后加一句 SJMP $
system("pause");这是调用系统命令,
sleep();延时啊,不是暂停,用的话设长点,有多长设多长。
getchar() 从stdio流中读字符,相当于getc(stdin),它从标准输入里读取下一个字符。 程序就等着用户按键.用户输入的字符被存放在键盘缓冲区中.直到用户按回车为止(回车字符也放在缓冲区中).
当用户键入回车之后,getchar才开始从stdio流中每次读入一个字符,回车之前输入了不止一个字符,其他字符会保留在键盘缓存区中,等待后续getchar调用读取.也就是说,后续的getchar调用不会等待用户按键,而直接读取缓冲区中的字符,直到缓冲区中的字符读完为后,才等待用户按键.
getch直接从键盘获取键值,不等待用户按回车,只要用户按一个键,getch就立刻返回 .输入的字符不会回显在屏幕上.getch函数常用于程序调试中,在调试时,在关键位置显示有关的结果以待查看,然后用getch函数暂停程序运行,当按任意键后程序继续运行
getche(),这个函数与前两上类似,功能也相近,都是输入一个字符,返回值同样是输入字符的ASCII码,但不同的是,此函数在输入后立即从控制台取字符,不以回车为结束(带回显)
同样也有一些输入字符串的函数用作暂停:gets等等。
我个人喜欢用scanf("%d",a);语句直接重上面输入程序中拷贝一个输入的函数,放在程序的最后面。最后结束不是点击输入而是点叉叉,因为不是以前的全屏啊。
以上说的都要加相应的基本编程头文件。
while(1);for(;1;);死循环放在最后,这是编写嵌入式最常用的语句,不用增加任何头文件。

还有一个中问题会让程序一闪就过,就是你程序有问题了,数据溢出等等。这样就是传说中的跑飞了,自己分段调试吧,多加些变量监控语句和继续运行语句。这个属于调试方面的问题。
这个唯一确定不能一步一步调试。其他的有的可以我就不说了。




欢迎光临 啊哈磊_编程从这里起步 (https://bbs.codeaha.com/) Powered by Discuz! X3.2