/** * vardec.c - An example of what can happen when you declare arrays whose * sizes are defined at run-time. */ #include #include /** * Print an array */ void print_array (int a[], int len) { int i; if (len == 0) printf ("{ }"); else { printf ("{ %3d", a[0]); for (i = 1; i < len; i++) printf (", %3d", a[i]); printf (" }"); } } // print_array int silly (int i) { int j; int b1[i]; int b2[i]; for (j = 0; j < i; j++) { b1[j] = j*j; b2[j] = -3*j; } // for printf ("b1: "); print_array (b1, i); printf ("\n"); printf ("b2: "); print_array (b2, i); printf ("\n"); } // silly int main () { int i = 0; int j = 0; for (i = 1; i < 10; i++) { int a1[i]; int a2[i]; for (j = 0; j < i; j++) { a1[j] = i*j; a2[j] = -j; } printf ("a1: "); print_array (a1, i); printf ("\n"); printf ("a2: "); print_array (a2, i); printf ("\n"); silly (i); } // for return EXIT_SUCCESS; } // main ()