#include <stdio.h> int fun(int x) { int y=1; static int z=4; z+=1;++y; return(x+y+z); }

void main(){ int i;for(i=1;i<=3;i++)printf("%3d",fun(i));}
2025-02-26 14:38:51
推荐回答(2个)
回答1:

z是静态变量,所以第一次调用fun时的值为4,第二次为5,第三次为6!而y是局部变量,每次调用fun时的值都是1!所以结果是8 , 10 ,12

回答2:

x y z 输出
1 2 5 8
2 2 6 10
3 2 7 12

结果为: 8 10 12