使用变量定义数组大小(代码块)

时间:2017-10-24 19:23:44

标签: c

我在“codeblocks”中使用了这个代码,它就像一个魅力:

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

int main()
{
   int i,j, n, m;

   printf("Input n & m: "); 
   scanf("%d %d", &n, &m);

   int a[n][m];

   //Reading Array Values
   for(i = 0; i < n; i++)
   {
        for(j = 0; j < m; j++)
        {
            printf("a[%d][%d] = ", i, j);
            scanf("%d", &a[i][j]);
        }
   }
   //Displaying Array Values
   for(i = 0; i < n; i++)
   {
        for(j = 0; j < m; j++)
        {
            printf("%d ", a[i][j]);
        }

        printf("\n");
   }
}

但我看到一些话题,人们说这是一种实际上来自gcc编译器的选项。所以我想知道,我将来是否应该使用它,或者这是一种错误的方式? 我认为没有矢量功能的头痛,我决定这样做,它工作得很好。我想这只适用于我使用的gcc编译器版本。但无论如何,这仍然存在问题,或者我可以顺利使用它吗?

1 个答案:

答案 0 :(得分:0)

我认为代码中没有GCC编译器特定行为。 我在gcc编译器上执行了相同的操作。你可以在这里查看结果:

jdoodle.com/a/biz

https://www.jdoodle.com/embed/v0/c/gcc-5.3.0/biz

&#13;
&#13;
<div data-pym-src="https://www.jdoodle.com/embed/v0/c/gcc-5.3.0/biz"></div>
<script src="https://www.jdoodle.com/assets/jdoodle-pym.min.js" type="text/javascript"></script>
&#13;
&#13;
&#13;