编写两个功能函数,使它们互相调用

Crush_gggg 2019-11-23 09:01:35
求大佬帮忙看看,我写的这个程序算是两个函数互相调用吗?我自己不太能拿的准
...全文
415 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
Crush_gggg 2019-11-23
  • 打赏
  • 举报
回复
学到了,谢谢您!!!
Crush_gggg 2019-11-23
  • 打赏
  • 举报
回复
引用 8 楼 张天星的回复:
[quote=引用 7 楼 菜鸡新手gsy 的回复:] 确实像您说的这样从f1到f2后不能再回来了,所以我改了一下,谢谢您!!!
先修正一下,我说错了,这个不是回调。我是看着互相调用四个字,脑海中突然冒出回调两个字,简直了。 。。它的名字是??我靠,应该叫递归?突然间我搞不清楚这个应该叫什么了。 但是思考的逻辑和递归是一样的。 互相之间的调用,必须有一个调用的条件(递归条件),和停止调用的条件(基线条件)。 递归条件确保两个方法在需要的时候可以循环,比如你f2永远调用不了f1 然后,基线条件就是不调用的条件。 来回两次调用之后,必须改变n的值。 而这个n的值,必须在某个时候停止循环。[/quote] int f1(int n); int f2(int n); int f1(int n) { if(n%2!=0) printf("奇数\n"); else f2(n); return 0; } int f2(int n) { if(n%2==0) printf("偶数\n"); n=n/2; printf("除二后:"); f1(n); return 0; } int main() { int n; printf("输入一个数:"); scanf("%d",&n); f1(n); return 0; } 这是我改正的
张天星 2019-11-23
  • 打赏
  • 举报
回复
引用 7 楼 菜鸡新手gsy 的回复:
确实像您说的这样从f1到f2后不能再回来了,所以我改了一下,谢谢您!!!
先修正一下,我说错了,这个不是回调。我是看着互相调用四个字,脑海中突然冒出回调两个字,简直了。 。。它的名字是??我靠,应该叫递归?突然间我搞不清楚这个应该叫什么了。 但是思考的逻辑和递归是一样的。 互相之间的调用,必须有一个调用的条件(递归条件),和停止调用的条件(基线条件)。 递归条件确保两个方法在需要的时候可以循环,比如你f2永远调用不了f1 然后,基线条件就是不调用的条件。 来回两次调用之后,必须改变n的值。 而这个n的值,必须在某个时候停止循环。
Crush_gggg 2019-11-23
  • 打赏
  • 举报
回复
引用 5 楼 菜鸡新手gsy的回复:
[quote=引用 3 楼 张天星的回复:]从f1到f2之后,f2不可能再到f1,因为你是偶数就在f1结束了,是偶数就在f2结束了。 从f2到不了f1 然后,你想做什么? 这两种函数对调,一般是用在回调函数上,你是学习相关内容么?
刚学习c语言,老师留的作业是两个函数互相调用[/quote] 确实像您说的这样从f1到f2后不能再回来了,所以我改了一下,谢谢您!!!
Crush_gggg 2019-11-23
  • 打赏
  • 举报
回复
引用 4 楼 SuperDay的回复:
是的,不过这样写程序大有问题
我也觉得很有问题,然后改了一下
Crush_gggg 2019-11-23
  • 打赏
  • 举报
回复
引用 3 楼 张天星的回复:
从f1到f2之后,f2不可能再到f1,因为你是偶数就在f1结束了,是偶数就在f2结束了。 从f2到不了f1 然后,你想做什么? 这两种函数对调,一般是用在回调函数上,你是学习相关内容么?
刚学习c语言,老师留的作业是两个函数互相调用
铖邑 2019-11-23
  • 打赏
  • 举报
回复
是的,不过这样写程序大有问题
Crush_gggg 2019-11-23
  • 打赏
  • 举报
回复
有人吗!!!!!!!!!
Crush_gggg 2019-11-23
  • 打赏
  • 举报
回复
我C语言好差

69,369

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧