关注
写得很深,很好,赞赞赞!!!
不过里面也有一些瑕疵哦:
1. 在“
试题3:写一个“
标准”宏MIN...
”中写道:“
宏定义#define MIN(A,B) ((A) <= (B) ? (A) : (B))对MIN(*p++, b)的作用结果是:
((*p++) <= (b) ? (*p++) : (*p++))
这个表达式会产生副作用,指针p会作三次++自增操作。
”————————这里应该是
((*p++) <= (b) ? (*p++) : (b)),两次自加吧?
2.
这题有三处瑕疵:
(1)参数检查:传入的参数如果按照原意设置为int,根据题意非负整数应该是无意义的,并没有做任何检查或出错处理。
(2)返回值类型:根据题意返回值可能为1~LONG_MAX(长整形变量的最大值,见limits.h),而当前很多实现中规定了long表示的范围应该不小于int,但int和long在扩展方面并不等价,因此返回值类型应该设置为long更合理。
(3)计算过程中类型不精确:虽然用了long进行强制转换,但是long还远远不够。我们可以反推,最后结果可能达到LONG_MAX,因此(1+n)*
n <= 2 *
LONG_MAX,而参数仍然是int,故计算结果仍然是int的范围,虽然上面的代码改为了long,但还是同样的范围,因此此处建议强制转换为ULONG_MAX类型。
我的拙见发表完毕!敬礼!淼姐棒棒哒~
查看原帖
点赞 1
相关推荐
投递德邦等公司6个岗位 > 2024年校招与实习信息...
点赞 评论 收藏
转发
点赞 评论 收藏
转发
投递华为等公司10个岗位 > 华为OD机试刷题
点赞 评论 收藏
转发
牛客热帖
正在热议
# 牛客帮帮团来啦!有问必答 #
873763次浏览 13845人参与
# 机械制造薪资爆料 #
325920次浏览 3784人参与
# 24届软开秋招面试经验大赏 #
1067216次浏览 16982人参与
# 晒一晒我的offer #
3522375次浏览 55759人参与
# 如果重来一次你还会读研吗 #
75175次浏览 727人参与
# offer决赛圈,我是怎么选的 #
204939次浏览 2300人参与
# 金三银四,你有感觉到吗 #
335468次浏览 4271人参与
# 国企vs私企,你更想去? #
25673次浏览 292人参与
# 求职遇到的搞笑事件 #
20018次浏览 291人参与
# 我发现了面试通关密码 #
357377次浏览 6725人参与
# 2023届毁约公司名单 #
94339次浏览 370人参与
# 0offer是寒冬太冷还是我太菜 #
434235次浏览 4981人参与
# 找工作,你会甘心进小厂还是猛冲大厂 #
38322次浏览 375人参与
# 你觉得找工作该拿大厂还是小厂练手 #
63683次浏览 903人参与
# 好工作要具备的条件有哪些? #
4521次浏览 61人参与
# 我在牛爱网找对象 #
51673次浏览 342人参与
# 海康威视求职进展汇总 #
104887次浏览 1246人参与
# 你会选择考研还是直接就业 #
79865次浏览 925人参与
# 实习与准备秋招该如何平衡 #
183039次浏览 3258人参与
# 职业发展规划如何回答 #
12761次浏览 89人参与