下面的程序是我写的关于输出杨辉三角(只输出10行)
#include<stdio.h>voidmain(){inti,j;inta[9][9];a[0][0]=1,a[1][0]=1,a[1][1]=1;for(i=2;i...
#include <stdio.h>
void main()
{
int i,j;
int a[9][9];
a[0][0]=1,a[1][0]=1,a[1][1]=1;
for (i=2;i<=9;i++)
{
a[i][0]=1,a[i][i]=1;
for (j=1;j<=i-1;j++)
a[i][j]=a[i-1][j-1]+a[i-1][j];
}
for (i=0;i<=9;i++)
{
for(j=0;j<=i;j++)
printf("%d ",a[i][j]);
printf("\n");
}
printf("\n");
}
为什么运行的结果是这样的
图中显示最后一行第一个数输出错误,应该是1但输出的却是0.这是为什么 展开
void main()
{
int i,j;
int a[9][9];
a[0][0]=1,a[1][0]=1,a[1][1]=1;
for (i=2;i<=9;i++)
{
a[i][0]=1,a[i][i]=1;
for (j=1;j<=i-1;j++)
a[i][j]=a[i-1][j-1]+a[i-1][j];
}
for (i=0;i<=9;i++)
{
for(j=0;j<=i;j++)
printf("%d ",a[i][j]);
printf("\n");
}
printf("\n");
}
为什么运行的结果是这样的
图中显示最后一行第一个数输出错误,应该是1但输出的却是0.这是为什么 展开
2个回答
展开全部
数组的下标是从0开始的,你的循环已经越界了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询