对于strcmp函数的理解

最近在洛谷开始补基础

所以开始狂刷水题,其中有这么一题:https://www.luogu.org/problemnew/show/P1781

刚开始看到的时候就是暴力做法,循规蹈矩写出来就OK了

因为写的比较暴力(就是偏乱)也感觉AC不了,但还是头铁交了一发,没想到AC了。

然后就开始看题解,看看有没有什么更好的做法,发现了可以用C++的string类直接判断,可怜我还是用字符一个个比较出来的。。

然后发现了strcmp的做法,于是我也做了一手,因为更有可读性,于是想把这个写完作为标准,写完样例过了却发现有两个点没过。于是在讨论区也发现了一大堆和我一样的选手。。最后发现了这个strcmp的易错点

在大部分环境下strcmp(str1, str2)返回1,-1,0分别是str1>str2, str1 < str2, str1 == str2

但是在某些环境下返回的是字符间的ASCII码之差。

所以使用strcmp函数得用 >0  || <0 || == 0来进行判断了。

全部评论

相关推荐

09-01 11:31
门头沟学院 Java
buul:七牛云的吧,感觉想法是好的,但是大家没那么多时间弄他这个啊。。。不知道的还以为他是顶尖大厂呢还搞比赛抢hc,只能说应试者的痛苦考察方是无法理解的,他们只会想一出是一出
点赞 评论 收藏
分享
09-17 19:25
已编辑
太原理工大学 游戏测试
叁六玖:公司名发我,我要这个HR带我打瓦
我的秋招日记
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务