www.fltk.net > #inCluDE<stDio.h> int Fun 1(int x,int y) {rE...

#inCluDE<stDio.h> int Fun 1(int x,int y) {rE...

您好~在main函数中先定义了a和b,并初始化a = 3,b = 8;然后打印出a和b的值接下来是fun()函数,将传入a的地址给形参x,将b的值给形参y在fun()函数中把*x(x是地址,*x是该地址对应的值,即a的值3)给t,把y的值给x地址所对应的内存单元(变量a),所以a = 8.最后return t,就是将3返回给b,完成交换.谢谢,望采纳~

#include <stdio.h> int fun{int x,int y} { if(x==y#include <stdio.h> int fun{int x,int y} { if(x==y) return(x); else returen((x+y)/2)} int main() { int a=4,b=5,c=6; printf(“%d\n”,fun(2*a,fun(b,c))); return 0;} 希望能详细回答 fun(2*a,fun(b,c)要输出这值:首先fun(b,c),明显5不等于6,所以返回6=(x+y)/2(4舍5入浮点转int) 然后fun(2*a,6) 7=(x+y)/2) 结果应该为7

return 后面不能跟连等式吧……

输出结果:8 10 12 此处每个数字间要留2个空位注意z的类型是static的,所以z的值是固定的!

修改后的代码:#include <stdio.h> int fun (int x,int y) /*是小括号,不是大括号*/ { if (x == y) /*括号换成英文的,下同*/ return(x); else return ((x + y)/2); /*是return,另外缺少分号*/ } int main() { int a=4,b=5,c=6; printf("%d\n", fun(2 * a, fun(b, c))); /*双引号也需要是英文的*/ return 0; }输出结果:6

你写的程序:#include&lt;stdio.h&gt;int t(int x,int y,int cp,int dp){cp=x*x+y*y; dp=x*x-y*y;}main(){int a=4,b=3,c=5,d=6;t(a,b,c,d);ptintf("%d%d",c,d)}传递参数只是形参,并没有改变c和d的值!在内存中c和d还是原样,这点要注意啊!你的程序执行

#include int fun{int x,int y} { if(x==y#include int fun{int x,int y} { if(x==y) return(x); else returen((x+y)/2)} int main() { int a=4,b=5,c=6; printf(“%d\n”,fun(2*a,fun(b,c))); return 0;} 希望能详细回答 fun(2*a,fun(b,c)要输出这值:首先fun(b,c),明显5不等于6,所以返回6=(x+y)/2(4舍5入浮点转int) 然后fun(2*a,6) 7=(x+y)/2) 结果应该为7

貌似刚见过这题,(a++,b++,a+b)是逗号表达式,值为最右边的a+b,由于之前已经a++、b++了,所以a=2,b=3,a+b = 5,(a++,b++,a+b)=5,c++自加后算(++c自加先算),c++ = 3,fun(5, 3)=8

x y z 输出1 2 5 82 2 6 103 2 7 12结果为: 8 10 12请采纳.

以下程序段的输出结果是 :8

相关搜索:

网站地图

All rights reserved Powered by www.fltk.net

copyright ©right 2010-2021。
www.fltk.net内容来自网络,如有侵犯请联系客服。zhit325@qq.com