关注
写得很深,很好,赞赞赞!!!
不过里面也有一些瑕疵哦:
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
相关推荐
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 这个offer值得去吗? #
18748次浏览 170人参与
# 字节开奖 #
148914次浏览 665人参与
# 联宝杯大学生创新大赛,你的技术值得产业级答案 #
47273次浏览 513人参与
# 如果春招能重来,我会___ #
19702次浏览 213人参与
# 薪资爆料 #
421630次浏览 2223人参与
# 除了线上,还能去哪些地方投简历 #
10808次浏览 110人参与
# 刚工作的你,踩过哪些坑? #
46424次浏览 295人参与
# HR问:你期望的薪资是多少?如何回答 #
99111次浏览 830人参与
# 大学四年该怎么过,才不算浪费时间? #
23649次浏览 104人参与
# 一份好的简历长什么样? #
41782次浏览 505人参与
# 你面试被问到过哪些不会的问题? #
122210次浏览 1944人参与
# 今年形式下双非本找得到工作吗 #
328533次浏览 1774人参与
# 诺瓦星云求职进展汇总 #
258793次浏览 1743人参与
# 双非本科求职如何逆袭 #
1645624次浏览 13060人参与
# 你觉得实习能学到东西吗 #
153953次浏览 1493人参与
# 职场破防瞬间 #
381572次浏览 2847人参与
# 你被哪些公司挂了? #
193043次浏览 1043人参与
# 实习最晚的一次下班是几点 #
35812次浏览 171人参与
# 字节求职进展汇总 #
1845178次浏览 15385人参与
# 26届校招投递进展 #
670016次浏览 3953人参与
# 双非应该如何逆袭? #
584011次浏览 6376人参与
