为什么在电话的编译器上可以运行出来,在电脑上就不行
任意行的杨辉三角
#include <stdio.h>
#include <stdlib.h>
int main()
{
int c,b,M,a[M][M];
printf("请输入您想要的杨辉三角行数: ");
scanf("%d",&M);
for(b=0;b<M;b++)
{
a[b][0]=a[b][b]=1;
}
for(b=2;b<M;b++)
for(c=1;c<b;c++)
{
a[b][c]=a[b-1][c-1]+a[b-1][c];
}
for(b=0;b<M;b++)
{
for(c=0;c<=b;c++)
{
printf("%d ",a[b][c]);
}
printf(" ");
}
}
你的程序有一个BUG
int c,b,M,a[M][M];
在初始化时,M是随机数,a数组的大小不确定,程序可能能运行,也可能会直接奔溃
c语言数组不能预定义(也说是上面定义好下面改数组大小的)
你设一个固定值就可以了,如
int c,b,M,a[101][101];
下一篇:魅族X8换主板后会有什么不同
热门标签: