以下程序的输出结果是?main( ){ int a[ ]={1,2,3,4 },i,x=0;for(i=0; i<4; i++) { sub(a,&x); printf(“%d”, x); }printf(“ ”);}sub( int *s, int *y){ static int t=3;*y=s[t]; t-- ; }
1 2 3 4
4 3 2 1
0 0 0 0
4 4 4 4
答案是4321,每次带入函数不是都会重新定义一遍t吗,所以不应该是4444吗?
t是static静态的,所以每次进入函数并不会重新定义,也就是说它是全局变量。
有帮助的话采纳一下哦!