fun(int a) {int b=0; static int c=3;b++;c++; return(a+b+c);main()}int i,a=5,for(i=0;i<3;i++) print f("%d %d,i,fun(a));print f("\n");} 求运行后输出的结果还有过程。答案怎么会是0 101 112 12
...c=3;b++;c++; return(a+b+c);main()}int i,a=5,for(i=0;i<3;i...
调用fun(5){int b=0; b=0 static int c=3; c=3 b++; b=1 c++; c=4 return(a+b+c); 5+1+4=10 当i=1时 print i i=1 调用fun(5){int b=0; b=0 static int c=3; 注意这里,上面已声明为静态整形,所以这里不再处理了,c=4 b++; b=1 ...
...{int b=0;static int c=3;b++;c++;return(a+b+c);}void main()_百 ...
答案 : 7 8 9 过程 此题考查静态局部变量 加了static的静态局部变量在函数调用以后内存没有释放(因为static修饰的局部变量内存分配在全局区(也叫静态区),未使用static关键字修饰的局部变量内存分配在栈区(栈区的生命周期是函数结束之后)),因为c被static关键字修饰,所以下次进入此函数,c的值是...
...b=0;static int c=3; b++;c++; return(a+b+c); } void main() {...
答案是789,如果你在输出里面加上一个空格的话就是 7 8 9,完。
...fun(int a) { int b=0; static int c=3; a=(c++,b++); return (a...
a=(c++,b++);由于(c++,b++)中用了逗号,逗号作为运算符时返回最后的表达式值,所以这句相当于a=b++,由于++在后,所以这又相当于a=b;所以返回0
...int a) { int b=0; static int c=3; a=c++,b++; return a; } void...
include <stdio.h> int f(int a){ int b=0;static int c=3;\/\/静态变量,只做一次初值赋值,即:第一次调用fun c=3 a=c++,b++; \/\/第一次调用本函数后,c=4,第二次后,c=5,第三次后c=6...return a; \/\/第一次调用本函数后,a=3,二次后,a=4,第三次后a=5...} ...
...int a) { int b=0; static int c=3; a=c++,b++; return(a); } ma...
所以执行循环的时候:i=0时,a=2,先取值后++,f(2),a=3;f函数内a=c++,先取值后++,a=3(这个a的作用于在函数f内,不影响外部的a),c=4,最后的a被return给k;k=3;i=1时,a=3,先取值后++,f(3),a=4;f函数内a=c++,先取值后++,a=4,c=5,a被return给k,k=4。i=2...
...f(int a) { int b=0; static int c=3; b++; c++; return a+b+c...
include"stdio.h" int f(int a) {int b=0; static int c=3; b++; c++; return a+b+c; } main() {int a=2,i; for(i=10;i<13;i++) printf("%4d",f(a));}运行程序后,输出 7 8 9在每次调用f()函数时,b会每次都赋初值为0,然后再加1;而c是“静态变量”,...
fun函数问题
include <stdio.h>int fun(int a){int b=0;static int c=3;a=(c++,b++); \/\/整体为逗号最右边的值,【即 b==0 赋值给a , b再自增为1】return(a);}main(){int a=2,i,k;for(i=0;i<2;i++)k=fun(a++); \/\/每一次调用,不管实参 a 的值是多少,形参 a 的值取 ...
int f(int a) {int b=0; static int c=3
对于函数f。 调用三次, 每次都是参数a=2, 三次参与a+b+c运算时都是a=2 b是局部变量, 每次初始化为0,之后自加为1。三次参与a+b+c运算时都是b=1 c是静态变量, 每次是上次退出值。 每次调用c自加。 所以三次参与a+b+c运算时, c依次为4 5 6 于是返回值依次为7 8 9 输出为 7...
这道题怎么做,,求详细过程,,◑▂◐
int fun(int a){ int b =0;static int c =3; \/\/第一次调用后初始化,再次调用时,C不再初始化,而是上次完成调用后的值 b++;c++;return (a+b+c);} void main(){ int a =2,i;for(i = 0;i<4;i++,i++)printf("%3d",fun(a)); \/\/这里一共执行了两遍,fun(a)调用了...