为什么缺少输出的最低值?

时间:2018-03-27 18:04:47

标签: c

#include<stdio.h>
void main()
{
    int i,j;
    long k;
    for(i=10;i<=99;i++)
    {
        for(j=10;j<=99;j++)
        {
            k=i*j;
            printf("%ld\t",k);
        }
    }
}     

我无法获得所需的输出。

它没有给出最低的条款,即小于680的条款。我上传了一小部分输出屏幕。

enter image description here

1 个答案:

答案 0 :(得分:4)

前几行,可能看起来像

100 110 120 130 140 ...

在屏幕截图中不可见,因为您的窗口缓冲区小于总输出。因此,一直滚动到顶部实际上并不显示前几行。

为了验证这一点,您可以打印行号或ij的值。
或者,您可以将程序的输出重定向到文本文件,然后使用编辑器打开它 您将看到程序的所有输出,我打赌您会发现值100到680以下。

最低可见数为680且较高值的事实由产品中的两个值解释:68 * 10 == 680;而前一行以67 * 99 == 6633结束。几行后你会发现68 * 99 == 6732和69 * 10 == 690。