免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: weckay
打印 上一主题 下一主题

[函数] EMC小有难度的笔试,撰写仅有一行的语句的函数??? [复制链接]

论坛徽章:
0
21 [报告]
发表于 2007-04-03 09:57 |只看该作者
太强了,学习学习~~~~

论坛徽章:
0
22 [报告]
发表于 2007-04-03 10:00 |只看该作者

回复 20楼 lee2008 的帖子

注意两点:
1最关键的还是递归的特点:压栈的操作
2&&运算符的计算特性:必须是前面的为TRUE,才计算后面的。如果为假,则后面的语句则后面的语句不执行
例子p(1,7);就这一步递归来说,打印的是第一个和最后一个1;中间的递归打印中间的数字;这个是关键
  理解好递归的执行流程就好了。
当是p(1,7),明显剩余操作:打印7,还有p(0,;
执行到p(0,的时候,第一条语句为假后面的语句不执行。。。。。
就是最后的结果,所以递归结束

论坛徽章:
0
23 [报告]
发表于 2007-04-03 10:21 |只看该作者
原帖由 lsmup 于 2007-4-3 10:00 发表
注意两点:
1最关键的还是递归的特点:压栈的操作
2&&运算符的计算特性:必须是前面的为TRUE,才计算后面的。如果为假,则后面的语句则后面的语句不执行
例子p(1,7);就这一步递归来说,打印的是第一个 ...




有点明白了,谢谢啊,

论坛徽章:
0
24 [报告]
发表于 2007-04-03 10:31 |只看该作者
原帖由 flw 于 2007-4-2 14:57 发表
很明显就是想让递归嘛。不过原型给得不清楚,没有描述参数语义。下面我假设 N 是指数字的个数而不是截止数。
  1. int p( int i, int N ){
  2.     return ( N && printf( "%d\n", i ) &&am ...
复制代码


强啊!!

论坛徽章:
0
25 [报告]
发表于 2007-04-03 11:03 |只看该作者
原帖由 lee2008 于 2007-4-3 09:45 发表




我就是这里没搞明白, 怎么回到p(6,7)的?  i是如何自减的啊?


晕,当然是通过return返回的了,建议你研究一下递归的原理就能明了了

论坛徽章:
0
26 [报告]
发表于 2007-04-03 11:05 |只看该作者
其实大家都没做对,包括我上面那个只写一次printf地实现。
题目中有这句,
       函数中唯一能够调用的函数就是printf
不能递归调用本身!!!可能EMC的家伙自己也做不出来:)

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
27 [报告]
发表于 2007-04-03 11:11 |只看该作者
原帖由 飞灰橙 于 2007-4-3 11:05 发表
其实大家都没做对,包括我上面那个只写一次printf地实现。
题目中有这句,
       函数中唯一能够调用的函数就是printf
不能递归调用本身!!!可能EMC的家伙自己也做不出来:)

如果不递归的话,能不能做出来呢?
我觉得还是有可能的。
只需要用 flwlibc 不要用 glibc 就可以。
printf( "%*v", N, i );

[ 本帖最后由 flw 于 2007-4-3 11:12 编辑 ]

论坛徽章:
0
28 [报告]
发表于 2007-04-03 11:11 |只看该作者
原帖由 flw 于 2007-4-3 11:11 发表

如果不递归的话,能不能做出来呢?
我觉得还是有可能的。
只需要用 flwlibc 不要用 glibc 就可以。
printf( "%*z", i, N );






就是这样的:em11:

不是flwlibc....

是emc-libc.....

论坛徽章:
0
29 [报告]
发表于 2007-04-03 11:12 |只看该作者
原帖由 flw 于 2007-4-3 11:11 发表

如果不递归的话,能不能做出来呢?
我觉得还是有可能的。
只需要用 flwlibc 不要用 glibc 就可以。
printf( "%*z", i, N );


呵呵,创意啊

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
30 [报告]
发表于 2007-04-03 11:12 |只看该作者
原帖由 Edengundam 于 2007-4-3 11:11 发表



就是这样的:em11:

我觉得还是 v 字母比较形象一些。

[ 本帖最后由 flw 于 2007-4-3 11:14 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP