注册 登录
编程论坛 C语言论坛

关于杨辉三角的问题

thebug 发布于 2020-05-03 20:50, 1763 次点击
代码如下:
程序代码:

#include<stdio.h>
int main()
{
    int i, j, a[9][9];
    for (i = 1; i <= 9; i++)
        for (j = 1; j <= i; j++)
        {
            if (i == j || j == 1)
                a[i][j] = 1;
            else
                a[i][j] = a[i - 1][j - 1] + a[i - 1][j];
        }
    for (i = 1; i <= 9; i++)
    {
        for (j = 1; j <= i; j++)
            printf("%-4d", a[i][j]);
            printf("\n");
    }
    return 0;
}

只有本站会员才能查看附件,请 登录

不知道为什么最后一行不对,求解。
6 回复
#2
fulltimelink2020-05-03 21:15
数组下标从0开始的,越界了
#3
thebug2020-05-03 21:38
但是我在最开始的时候令i和j都是从1开始的,请问是不是因为计算机默认数组从0开始所以起了冲突?
#4
forever742020-05-03 21:46
你定义的数组闲着前面下标为0的1行1列没有使用。
然后越界使用了下标9。
#5
forever742020-05-03 21:47
难道你是学FORTRAN的?
#6
炸天帮2020-05-03 21:49
数组是0至8  访问9越界
#7
thebug2020-05-03 22:10
我明白了,谢谢各位大佬的指点
1