如果我们有一些C字符串定义如下:
char string_a[] = "foo";char string_b[] = "foo";char * string_c = string_a;
strcmp(string_a,string_b)== 0将返回true,而string_a == string_b将返回false.只有在使用==“比较”string_a和string_c时才会返回true.
如果要比较两个C字符串的实际内容,而不是它们是否只是彼此的别名,请使用strcmp.
旁注:如果您使用C而不是C作为问题标签显示,那么您应该使用std :: string.例如,
std::string string_d = "bar";std::string string_e = "bar";
然后string_d == string_e将返回true. string_d.compare(string_e)将返回0,这是strcmp的C版本.
总结以上是内存溢出为你收集整理的为什么在C中使用strcmp而不是==?全部内容,希望文章能够帮你解决为什么在C中使用strcmp而不是==?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)