开发者社区 问答 正文

用 if(!strcmp(s1, s2)) 比较两个字符串等值,是否是个好风格?

用 if(!strcmp(s1, s2)) 比较两个字符串等值,是否是个好风格?

展开
收起
游客py5kcp7dd6tu6 2022-03-29 22:09:39 584 分享 版权
1 条回答
写回答
取消 提交回答
  • 这并不是个很好的风格, 虽然这是个流行的习惯用法。如果两个 字符串相等, 这个测试返回为真, 但 ! (``非") 的使用, 容易引起误会, 以为测试不等值情况。

    另一个选择是用一个宏:

    #define Streq(s1, s2) (strcmp((s1), (s2)) == 0)
    
    2022-03-29 22:26:07
    赞同 展开评论
问答地址: