展开全部
#include <stdio.h>
int main()
{
int array[10][10]={0},a,b;
for (b=0;b<10;b++)
{
array[0][b]=1;
}
for (b=1;b<10;b++)
{
for (a=1;a<=b;a++)
{
array[a][b]=array[a-1][b-1]+array[a][b-1];
}
}
for (b=0;b<10;b++)
{
for (a=0;a<b;a++)
{
printf("%d ",array[a][b]);
}
printf("%d\n",array[a][b]);
}
}
杨辉三指羡角效果,你可以看看就只有初始化跟你不相同,以后唯铅拍注意声明变量初激册始化
展开全部
数组只对array[0][x]的10个数进行了赋初值1,array[1][x]等的并没和核启唤如有赋初值。
所以在氏散二重循环里面 array[a][b] = array[a-1][b-1] + array[a][b-1]中的后面一项是没有初始化赋值的,所以它的值是随机的。
所以在氏散二重循环里面 array[a][b] = array[a-1][b-1] + array[a][b-1]中的后面一项是没有初始化赋值的,所以它的值是随机的。
追问
但是array[n][m]里面没有赋值的是默认为零啊?
追答
你没有初始化就不会默认。所以你要注意初始化,定义的时候:
int array[10][10] = {0};
这样才会初始化。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
供参考。
#include <stdio.h>
int main()
{
int array[10][10],a,b;
for(b=0;b<10;b++)
{
array[0][b]=1;
for(a=0;a<10;a++)
态历 array[b][a]=0;
}
for(b=1;b<10;b++)
for(a=1;a<=b;a++)
array[a][b]=array[a-1][b-1]+array[a][b-1];
for(b=1;b<10;b++)
{
for(a=0;a<b;a++)
printf("%d\t",array[a][b]);
printf("\n");
岁闭脊 }
return 0; 乎渗
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询