注:文章内容来源于网络,真实性有待确认,请自行甄别。
请教大家这个C程序的结果为什么会是这样?#include<
发表于:2024-10-24 00:00:00浏览:2次
问题描述:#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],当然两次输出的结果是一样的
栏目分类全部>