fun(int x,int y) {static int m=0,i=2;i+=m+1;m=i+x+y;return m;}fun(int x,int y){static int m=0,i=2;i+=m+1;m=i+x+y;return m;}main(){int j=1,m=1,k;k=fun(j,m);printf("%d,",k);k=fun(j,m);printf("%d\n",k);}输出结果是多少11

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/27 14:40:33
fun(int x,int y) {static int m=0,i=2;i+=m+1;m=i+x+y;return m;}fun(int x,int y){static int m=0,i=2;i+=m+1;m=i+x+y;return m;}main(){int j=1,m=1,k;k=fun(j,m);printf(

fun(int x,int y) {static int m=0,i=2;i+=m+1;m=i+x+y;return m;}fun(int x,int y){static int m=0,i=2;i+=m+1;m=i+x+y;return m;}main(){int j=1,m=1,k;k=fun(j,m);printf("%d,",k);k=fun(j,m);printf("%d\n",k);}输出结果是多少11
fun(int x,int y) {static int m=0,i=2;i+=m+1;m=i+x+y;return m;}
fun(int x,int y)
{static int m=0,i=2
;i+=m+1;m=i+x+y;return m;
}
main()
{int j=1,m=1,k;
k=fun(j,m);printf("%d,",k);
k=fun(j,m);printf("%d\n",k);
}
输出结果是多少
11

fun(int x,int y) {static int m=0,i=2;i+=m+1;m=i+x+y;return m;}fun(int x,int y){static int m=0,i=2;i+=m+1;m=i+x+y;return m;}main(){int j=1,m=1,k;k=fun(j,m);printf("%d,",k);k=fun(j,m);printf("%d\n",k);}输出结果是多少11
i+=m+1含义为:i=i+m+1.
第一次调用子程序fun时,赋值得:x=j=1,y=m=1.而子程序里m=0,i=2.所以
运行i+=m+1得 i=3; 运行m=i+x+y得 m=5.同时返回值m=5,即把5赋值给fun,即k=5,输出k=5.在这次调用中x、y值没改变,所以fun(j,m)中的j、m值不变.
第二次调用fun时,赋值还得:x=j=1,y=m=1.而此时,因m、i为static型变量,即静态变量,它们保持上次运行结果即m=5,i=3,通过运算的m=11.

以下选项均为fun函数定义的头部,其中错误的是 .以下选项均为fun函数定义的头部,其中错误的是 .A.int fun(int x,int y[ ]) B.int fun(int x,int y[x])C.int fun(int x,int y[3]) D.int fun(int x,int *y) 以下函数的正确定义形式是( )A double fun(int x,int y) B.double fun(int x;int y) C.double fun(int x,int y); D.double fun(int x,y); 8、以下正确的函数定义是A)double fun(int x ,int y) B)double fun(int x ; int y)C)double fun(int x ,int y) ; D)double fun(int x,y) 以下正确的函数定义形式是?A.double fun(int x,int y) B.double fun(int x;int y) C.double fun(int x,int y) D.double fun(int x,y) 分析以下函数的定义形式是否正确,若有错误请说明理由1.double fun(int x,int y)2.dluble fun(int x; int y)3.double fun(int x,y); 3、以下正确的函数定义是( ).A.double fun(int x,int y); {int z; z=x+y; return z;}3、以下正确的函数定义是( ).A.double fun(int x,int y); {int z; z=x+y; return z;}B.fun(int x,y) {int z; return z;}C.double fun( C++填空题1 求详解#include using namespace std;int fun(int x,int y){cout int fun(int x) { int y; if(x>1) y=fun(x-1)+2; else y=2; return y; } main(){ int y; y=fun(3);} y=? 2.以下正确的函数定义是 .A)double fun(int x,int y) B)double fun(int x,y)所谓 { int z ; return z ;}C)fun (x,y) D)double fun (int x,int y){ int x,y ; double z ; { double z ;z=x+y ; return z ; } return z ; } double fun(int x,int y)这样定义有错吗?如果有,错在哪里?double fun(int x,y)那么这样定义呢? 以下正确的函数头定义形式是 A)double fun(int x,int y) B)double fun(int x;int y) C)double fun(int x,int y); D)double fun(int x,y); void fun(int x,int y) {x=x+y;y=x-y;x=x-y; printf(%d,%d,,x,y); } main() {int x=2,y=3; fun(x,y); privoid fun(int x,int y){x=x+y;y=x-y;x=x-y;printf(%d,%d,,x,y);}main(){int x=2,y=3;fun(x,y);printf(%d,%d ,x,y);} void fun(int *a,int *b) { int *c; c=a;a=b;b=c; } main() { int x=3,y=5,*p=&x,*q=&y; fun(p,q);...void fun(int *a,int *b){ int *c; c=a;a=b;b=c;}main(){ int x=3,y=5,*p=&x,*q=&y; fun(p,q); printf(%d,%d,,*p,*q); fun(&x,&y); prin%d,%d ,*p,*q);}两 fun(int x,int y,int z) {z=x*x+y*y;} main() {int a=31; fun(5,2,a); printf(%d,a); } a的值为多少?是29还是31?说明一下理由, double fun(int i,double x,double void fun(int *x,int y){printf(%d%d,*x,*y);*x=3;*y=4;}main(){int x=1,y=2;fun(&y,&x);printf(%d%d,x,y);} fun(int x,int *y) { int z; x-=2;(*y)++; z=x%(*y); return z; } main() { int g=15,h=8,k=1;fun(int x,int *y){int z;x-=2;(*y)++;z=x%(*y);return z;}main(){int g=15,h=8,k=1;k=fun(g,&h);printf(%d,%d,%d,g,h,k);}执行后输出的结果是?求详细的过 尤其是c=a+b++,int fun(int a){ int c;static int b=3;c=a+b++;return c;}void main(void){ int x=2 ,y;y=fun(x);printf(y=%d,y);y=fun(x+3);printf(y=%d,y);}