永发信息网

C++int f2(int (*f)(int &),int y)//

答案:3  悬赏:80  手机版
解决时间 2021-11-24 02:33
C++int f2(int (*f)(int &),int y)//
最佳答案
1. int f2(int (*f)(int &),int y) 它是自定义的一个函数f2,这个函数包含两个参数,可能是第一个参数你不太明白:(*f)(int &),f是一个指针变量,它接收的是一个函数的地址,指向函数首地址的指针。函数在内存中也是有地址的,不然怎么才能找到它并进行调用哩,这一点可以看一下指针这一章,有讲关于函数指针的内容。因为在main函数中调用f2(f1,3),所以在f2第一个参数的f函数指针变量就指向f1的首地址,即,f,f1都指向函数的地址,他们调用同一个函数。 2.关于1,8问题。在f2函数中sum+=f(i)+f(i);调用到f1函数,f1函数中有x++,这要设计到x++和++x的知识了。X++,先用X的值在进行X = x+1操作,return X++就是先return x值,在进行X = X+1;所以第一次f(i)返回值为0,以为传进去的是地址,x改变的同时i的值也跟着改变,即i = 1;然后进行第二次f(i),这时i = 1,所以f(i)返回值为1,同时i的值变为2,即i = 2;所以sum =sum + f(i)+f(i) =0 + 0 + 1;所以sum输出1;有在for()中进行i++,i= 3;3<=3,仍然进行for循环,同理sum = sum + f(i)+f(i) = 1+3+4 = 8;所以输出8。for循环执行两次,所以count的值为2,所以f2()函数的返回值为2.机count = 2;综合上述,输出结果为1,8,2 上面讲的都是c的基础东西,主要理解函数指针的问题和X++运算,可以慢慢理解下。打好基础很重要。
全部回答
int f2(int (*f)(int &),int y)
-》
f2() 有2个参数,一个是 int (*f)(int &), 这是一个函数的返回值, 还有一个是 y
int (*f)(int &) 是一个函数指针,就是一个叫f,参数为 int & 的函数的指针
int f2(int (*f)(int &),int y)//f为函数指针1:int sum=0,count=0;
2:for(int i=0;i<=y;i++)
3:{sum+=f(i)+f(i);
4:count++;
5:cout<6:return count;} 7:pint f1(int &x)
8:{return x++;}

执行过程:1:sum=0,count=0;2: i=0;3: ->7:8: f(i)=0,i=1, ->7:8:f(i)=1,i=2; sum+=0+1,sum=1;4:count=1;5:输出 12:i=3;3:->7:8:f(i)=3,i=4,->7:8:f(i)=4,i=5,;sum+=3+4,sum=8;4count=2;5:输出 86:
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
厦门喜迎盛世装饰怎么样呢?
中国农业银行ATM(柳东路)地址在什么地方,我
学历认证报告在哪里弄啊?
来香港出差,想带个礼物给男朋友,买什么好呢
浦北到 玉林多久
三峡大坝泄洪
床上细节看出男人爱不爱你
海尔电热水器ES60h-T3(SE)和ES60h-T3(JE)有什
虎扑上的散卡是什么意思?
导游没带导游旗怎么办
找一本耽美小说里面的小攻姓瞿灏宸小受叫颜寻
股份制公司写章程是不是要把所有股东姓名写到
安防监控里,LED的红外和阵列和点阵的有什么
请问下这种大重九香烟普遍价格是多少钱一条~
拔牙在一天的什么时间段最适合
推荐资讯
求给小说角色起名字,西式的,要以兰字开头,比
热熔反光标线涂料合成树脂EVA的作用是什么?
李师傅风水命理:如何从八字看女命嫁得远近
魔石泡泡鱼主题歌是什么
如何应付学习挫折
刀剑里怎么判断一把绿刀的好坏?
大家估估计这个红木床什么价位
华为手机开机显示phone locked,开不了机。
茄瓜怎么做好吃又简单
手机可以呼出不能呼入是什么原因
调可以怎么组词
功能更新到 windows 10,版本 1703 有多大
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?