1#! /usr/bin/bc -q 2 3define z(a[]) { 4 for (i = 0; i < l; ++i) { 5 a[i] 6 } 7} 8 9define x(a[]) { 10 11 # Test for separate vars and arrays. 12 auto a 13 14 for (a = 0; a < l; ++a) { 15 a[a] = -a 16 } 17 18 z(a[]) 19} 20 21define g(x[], y[]) { 22 return x[0] - y[0] 23} 24 25define h(uto, x[]) { 26 return g(x[], y[]) 27} 28 29define m(*x[], *y[]) { 30 return x[0] / y[0] 31} 32 33define n(*y[], *x[]) { 34 return m(x[], y[]) 35} 36 37for (i = 0; i < 101; ++i) { 38 a[i] = i 39} 40 41a[104] = 204 42 43l = length(a[]) 44 45for (i = 0; i <= l; ++i) { 46 a[i] 47} 48 49z(a[]) 50x(a[]) 51z(a[]) 52l 53 54x[0] = 5 55y[0] = 4 56 57h(x[], y[]) 58