以下程序的输出结果是#include <stdio.h>int fun(int x){static int m=0;return(m *=x);}m

10 查阅

以下程序的输出结果是#include <stdio.h>int fun(int x){ static int m=0; return(m *=x);}main(){ int s,i; for(i=l;i<=3;i++) s=fun(i); printf("%d\n",s);}

参考答案:

10本题考查静态局部变量的使用。静态局部变量用static进行声明,该变量的内存存储空间在整个程序的运行期间都不释放,进行编译时,只对静态局部变量赋初值一次,以后每次调用函数时,不再重新赋初值,而只是保留上次函数调用结束时的值。题目中的程序包括两个部分,一个是fun函数,另一个是main函数。main函数给出了变量s的初始值,s=0。for语句是对fun函数进行调用,将结果与s进行相加,并将和赋给s。仔细分析for语句的结构可知,该语句要循环运行3次。函数fun的实参即for语句的循环变量。三次调用的实参

计算机二级