这是我自己根据书上的思路自己编写的具体代码 求2000-2500的闰年
原本没有这一句: else
printf("%d不是闰年
",a);
一切正常,但是当加了这一句,点击允许,直接显示如图不是从2000开始的,而是2205,这是为什么如果不加《
else printf("%d不是闰年
",a);》,是一切正常的。
具体代码:
#include<stdio.h>
int main (void)
{
int a=2000;
while(a<=2500)
{
if(
a%4==0&&a%100!=0
||
a%100==0&&a%400==0
)
printf("闰年是%d
",a);
else
printf("%d不是闰年
",a);
a++;
}
return 0;
}
运行后为什么是从2205开始的呢?前面的2000至2204呢?
个人没从代码找出问题啊
这是因为 屏幕缓存不够了,要设置大一点
————————————————————————————————————————————————————————————————
应急办法 有个应急的办法就是在头文件中加个 #include<Windows.h>
然后在main函数中添加下面这一段
SMALL_RECT winPon={0,0,200,100}; /*初始化大小*/
HANDLE con=GetStdHandle(STD_OUTPUT_HANDLE); COORD buf={200,700}; /*缓冲区宽度和长度,700就是那个高度的缓冲,这样就够用了应该*/ SetConsoleWindowInfo(con,1,&winPon);
SetConsoleScreenBufferSize(con,buf);
或者在弹出的显示框上右键 默认值 布局 把高度改为500以上,如果不够继续增加
最后成果
正常从2000开始了