首页 > 电脑

为什么在电话的编译器上可以运行出来,在电脑上就不行

更新时间2019-10-20 21:42:22

任意行的杨辉三角

#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];


上一篇:HTMLcss怎么设置这种导航栏下拉式菜单

下一篇:魅族X8换主板后会有什么不同