新手学C问题:为什么我的C语言程序老是闪退?

   更新日期:2024.06.01
一闪而过是程序自动结束,同时编译器没有提供结果驻留功能。对于此种情况,可以手动在代码结尾增加驻留功能的函数。常用的有如下两种:

1 通过getch函数驻留。
getch会等待从屏幕的输入,在main函数退出前,增加
getch();
调用,系统会等待输入,直到有新的输入,才会退出界面。

2 通过system("pause");来实现驻留。
在main退出前调用
system("pause");
会调用系统的pause函数,提示并实现按任意键退出程序效果。

如果是已经编译好的C语言程序,可以通过开始->运行,键入cmd后回车。
在打开的命令行窗口,将可执行文件拖动到窗口上,再回车即可运行该程序,在此窗口不会出现闪退,从而观察运行结果。

由于该问题仅在windows平台出现,所以以上介绍均针对windows平台。

#include<stdio.h>
#include<stdlib.h>
int main()
{
int year;
for (year=1000;1000<year&&year<2000;year++)
{
if (year%4==0) printf("%d\t",year); else if (year%100==0) printf("%d\t",year); else if(year>2000) break; } system("pause"); return 0; }

在return 0; 前加一条语句 getchar();

推荐个软件给你,叫 啊哈c 它会帮你设置好。

  • 18152323748 :请高手帮我看看为何我的c语言生成的随机数都相同?我刚开始学。
    魏支种2957 :答:原因: time(0)返回的是系统的时间(从1970.1.1午夜算起),单位:秒,而那个循环运行起来耗时连0.000001秒都不到! 也就是说,srand(time(0)) 连着4次的种子是一样的,种子一样,生产的随机数当然是一样了。srand的例子,你参考下就行:/* RAND.C: This program seeds the random-number ...
  • 18152323748 :为什么我学的c语言在定义main函数时,前面没有int
    魏支种2957 :答:这些函数就是进入程序之前的引导。所以,有的时候,我们会发int返回值的main函数内不甚至用了参数,这些参数也是可以缺省的,但实际上都被默认值了,引导程序在调用main函数的时候必须获取这些值,否则是不可以动作的。
  • 18152323748 :c语言为什么这么难学,我为什么老是学不会
    魏支种2957 :答:C语言是不是就不值得学习了?其实这种说法是不对的,其实php,python等底层语言还不是一样用C语言来实现,所以C语言的重要性不言而喻。不要听信C语言已经过时之类的谣言,C语言一直都在默默无闻、踏踏实实地做着底层很重要的事情,经久不衰。想要在软件行业立足发展,C语言还是很值得学习的。
  • 18152323748 :初学C语言,为什么我的程序不能翻译
    魏支种2957 :答:分号是中文状态下的 切换为英文
  • 18152323748 :为什么我学C语言的语法很困难
    魏支种2957 :答:关键在于平时多练,多做一些题,多写程序,我说的是在电脑上写。其实语法很简单,而且很少,比起自然语言要简单得多,只要你经常去写程序,去思考程序,不记住都难。
  • 18152323748 :我的C语言程序直接跳过了一个输入的步骤是怎么回事。刚开始学c
    魏支种2957 :答:因为scanf在输入数只时,碰到非数值时就停下来了,回车、空格等等都是非数值。代码中要求输入两个数值,此时在第二个数值的后面,一定会有其他非数值字符,如回车符,而接下来输入字符时就将那个回车符作为了输入的字符了
  • 18152323748 :为什么我的c语言程序第一个要输入两行才能运行下一步?
    魏支种2957 :答:scanf("%s\n");因为你的scanf("%s\n");每个%s后面都多了一个换行 也就数说出了输入一个字符串以外 还需要再输入一个换行 输入字符串 回车 这是输入了一个字符串 然后再回车 才是输入了换行 有疑问请追问 满意请记得采纳哦
  • 18152323748 :为什么C语言我看不明白
    魏支种2957 :答:经常把一些时髦的语言挂到嘴边,比如说我要学c#好,还是,java好,不如把基础的东西弄懂弄通.在我看来,在没有学习好c 之前最好不要学习其他任何的语言,不要想到c#,java里面没有指针,没有复杂的东西,可以避难就易,基础的东西不学好,就像做的很华丽的豆腐渣工程,再漂亮,也是会倒的.学完了c ,...
  • 18152323748 :我在编写C语言代码的时候,有时候代码会有一些逻辑上的错误,就是代码可...
    魏支种2957 :答:新手最郁闷的事情莫过于程序可以运行但是却得不到自己的结果了吧。老手最郁闷的事情莫过于新手问为什么我的程序可以运行但是却得不到自己的结果了吧。比如:你天天用操作系统。如果你用过Windows98就应该知道那时候系统经常崩溃的。但是微软设计的时候,不会把它故意设计成每小时或者没几天崩溃几次吧。不...
  • 18152323748 :初学c语言,为什么我看视频里的那些人打出来的代码有各种颜色,还有一些...
    魏支种2957 :答:那是文字编译器~~~网上有很多种 如:vs2008. vs2013 notepad++等等 背景颜色可以调 也有集成编译、连接功能的软件。叫做IDE
  • 相关链接

    欢迎反馈与建议,请联系电邮
    2024 © 视觉网