• 关于输出较长 行数较多的结果不能全部显示 屏幕缓存区问题


    这是我自己根据书上的思路自己编写的具体代码 求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开始了

  • 相关阅读:
    HTML
    MySQL 表操作
    MySQL 库操作
    MySQL
    python 客户端的安全性验证和服务端对客户端的多端连接
    python 黏包
    python 通信
    SpringData —— HelloWorld
    JPA
    Hibernate ——二级缓存
  • 原文地址:https://www.cnblogs.com/taoyuan7788/p/3185112.html
Copyright © 2020-2023  润新知