在自己做的这个C语言解释器中,数组的使用非常简便。下面小程序是一个例子。演示了数组的初始化,参数传递, 和求和。
all[]= {
 WA=12,OR=8,CA=54,
 ID=4, MT=4, WY=3,
 NV=6, UT=6, AZ=11,
 CO=10, NM=5,
 ND=3,SD=3,NE=4,
 KS=6, OK=7,TX=40,
 MN=10, WI=10,IA=6,
 MO=10, IL=19,
 AR=6,LA=8,
 TN=11, NC=16,
 MS=6, AL=9, GA=16, SC=9, FL=30,
MI=15,IN=11,OH=17,KY=8,WV=4, VA=13,
 NY=28,PA=19,
 ME=2,ME1=1,ME2=1,
 MA=11,RI=4,CT=7,NJ=14,DE=3,MD=10,DC=3,
 NE2=1,VT=3,NH=4,
 AK=3,HI=4,
 0
 };
blue[]= {
 WA,OR,CA,
 CO, NM,
 MN, IL,
 VA, NY,
 ME,ME1,
 MA,RI,CT,NJ,DE,MD,DC,
 NE2,VT,NH, HI,
 0};
red[] = {
 ID, MT, WY, UT,
 ND,SD,NE,
 KS, OK,TX,
 IA, MO,
 AR,LA, TN,
 MS, AL, SC, FL,
 IN,OH,KY,WV,
 ME2,
 AK,
 0};
func count(a[])
 {
 for(i=0; a[i]; i++);
 n=i;
 return n;
 }
 saving count…used func[0].
func sum(a[], n)
 {
 for(i=0; i<n; i++) s+=a[i];
 return s;
 }
 saving sum…used func[1].
func Tsrump(red[], pale[])
 {
 n1=count(red[]);
 n2=count(pale[]);
 print sum(red[],n1)+sum(pale[],n2);
 }
 saving Tsrump…used func[2].
bias[]= {PA, MI, WI, AZ, NV,NC, GA, 0};
pale_blue[]= {0};
 pale_red[] = {NC, AZ, GA, 0};
print sum(bias[], count(bias[]));
 93
 Tsrump(red[], pale_red[]);
 262
 Tsrump(blue[], pale_blue[]);
 226