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

#include<stdio.h>#include<stdlib.h>intmain(){intyear;for(year=1000;1000<year<2000;yea... #include<stdio.h> #include<stdlib.h> int main() { int year; for (year=1000;1000<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; }
 不是很清楚说的测试for语句什么意思...我把for修改了一下,依然是一个闪退程序= =
展开
 我来答
tattackor
推荐于2017-09-21 · TA获得超过3.5万个赞
知道大有可为答主
回答量:5083
采纳率:94%
帮助的人:876万
展开全部
一闪而过是程序自动结束,同时编译器没有提供结果驻留功能。对于此种情况,可以手动在代码结尾增加驻留功能的函数。常用的有如下两种:

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

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

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

由于该问题仅在windows平台出现,所以以上介绍均针对windows平台。
威41096
2014-03-29 · TA获得超过102个赞
知道答主
回答量:24
采纳率:0%
帮助的人:15.7万
展开全部
#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; }
追问
你这个一样闪退啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Gaussine
2014-03-29 · TA获得超过272个赞
知道小有建树答主
回答量:124
采纳率:0%
帮助的人:148万
展开全部
在return 0; 前加一条语句 getchar();
更多追问追答
追问
然后就什么都没显示了?
还有我们没学这个语句的= =
追答
你的程序有问题,1000= 1000 && year < 2000
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
CoolCatsS
2014-03-29 · 超过20用户采纳过TA的回答
知道答主
回答量:236
采纳率:0%
帮助的人:72.6万
展开全部
推荐个软件给你,叫 啊哈c 它会帮你设置好。
更多追问追答
追问
C的作用对我来说更多是学习而已= =
不然的话以我的智商没点好的基础什么都干不了...
一直都有的。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式