int quarters = 4;
int regions = 5;
double sales[regions] [quarters];//这是变长数组(VAL)
我想用vs2022去实现这个功能,但是好像vs不支持C99,有没有办法使得vs能支持C99,或者有没有一个可以编译变长数组的编译器分享一下呀?
#include <stdio.h>
#include <stdlib.h>
int **create(int m, int n)
{
int **a = (int **)malloc(m * sizeof(int *));
for (int i = 0; i < m; i++)
a[i] = (int *)malloc(n * sizeof(int));
return a;
}
void destroy(int **a, int m)
{
for (int i = 0; i < m; i++)
free(a[i]);
free(a);
}
void print(int **a, int m, int n)
{
for (int i = 0; i < m; i++)
{
for (int j = 0; j < n; j++)
printf("%2d ", a[i][j]);
printf("\n");
}
}
int main()
{
int m, n;
scanf("%d%d", &m, &n);
int **a = create(m, n);
for (int i = 0; i < m; i++)
for (int j = 0; j < n; j++)
a[i][j] = i * n + j;
print(a, m, n);
destroy(a, m);
return 0;
}
$ gcc -Wall main.c
$ ./a.out
4 5
0 1 2 3 4
5 6 7 8 9
10 11 12 13 14
15 16 17 18 19