分类：电脑/网络-程序设计-C/C++
问题：请教大家这个C程序的结果为什么会是这样？#include&lt; 
#include<std.h>#defineMAX10inta[MAX],i;sub2(){inta[MAX],i,max;max=5;for(i=0;i<max;i++)a[i]=i;}sub1(){for(i=0;i<MAX;i++)a[i]=i+i;}sub3(inta[]){inti;for(i=0;i<MAX;i++)printf("%d",a[i]);printf("\n");}main(){printf("\n");sub1();sub3(a);sub2();sub3(a);}结果是:0 1 1618
回答：sub2()中的局部变量a[MAX]在sub2()运行完后就释放了，两次调用sub3(a)都是传递全局变量a[MAX]，当然两次输出的结果是一样的