永发信息网

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

答案:3  悬赏:70  手机版
解决时间 2021-03-27 08:27
  • 提问者网友:太高姿态
  • 2021-03-26 09:26
用 if(!strcmp(s1, s2)) 比较两个字符串等值,是否是个好风格?
最佳答案
  • 五星知识达人网友:你可爱的野爹
  • 2021-03-26 11:03
风格没有问题。

如果用的语言是C,不要忘记#include

如果用的语言是C++,不要忘记#include
当然,如果用的语言是C++,可以这样做:
string s1,s2; //头文件名: string
if(s1 == s2)
{

}//也可以直接用'<'或'>'
全部回答
  • 1楼网友:夜风逐马
  • 2021-03-26 13:33
这个strcmp方法不是返回INT吗
应该if(strcmp(s1, s2) == 0)
{}
  • 2楼网友:野慌
  • 2021-03-26 12:17
这并不是个很好的风格, 虽然这是个流行的习惯用法。如果两个字符串相等,这个测试返回为真, 但 ! (“非”) 的使用, 容易引起误会, 以为测试不等值情况。另一个选择是用一个宏:
#define Streq(s1, s2) (strcmp((s1), (s2)) == 0)
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯