如何检查值是否与字符串匹配
发布时间:2020-12-16 10:42:07 所属栏目:百科 来源:网络整理
导读:我在这里有一个结构,例如: char *sname;........players[i].sname 等于“詹姆斯”. 我需要检查值之间的相等性,如下所示: if (players[i].sname == 'Lee') 但我没有太多运气.是否有我应该使用的str *函数或者是否有修复我的if语句? 解决方法 简短回答: st
我在这里有一个结构,例如:
char *sname; ........ players[i].sname 等于“詹姆斯”. 我需要检查值之间的相等性,如下所示: if (players[i].sname == 'Lee') 但我没有太多运气.是否有我应该使用的str *函数或者是否有修复我的if语句? 解决方法
简短回答:
strcmp() .
答案很长:所以你有这个: if(players[i].sname == 'Lee') 这在几个方面都是错误的.首先,单引号在C中表示“字符文字”而不是“字符串文字”. 其次,更重要的是,“string1”==“string2”不比较字符串,它比较char * s或指向字符的指针.它会告诉您两个字符串是否存储在同一个内存位置.这意味着他们是平等的,但错误的结果并不意味着他们是不平等的. strcmp()将基本上通过并比较字符串中的每个字符,停止在第一个不相等的字符,并返回两个字符之间的差异(这就是为什么你必须说strcmp()== 0或! strcmp()表示相等). 还要注意函数 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |