如何比较两个字符串?

时间:2017-05-19 00:21:38

标签: c string

我正在使用Eclipse,我遇到了一个我不知道如何解决的问题!我有一个函数,其中一个参数是一个字符串。我做了一个参数,我给它一个字符串。现在我尝试用if语句比较两个字符串,两个字符串具有相同的值,但if语句没有成功!即使我使用调试器检查代码并且我一步一步地进行,我可以看到r_namecheck_name都具有相同的字符串!我做了什么:

v_function(CSystem *sss, char *r_name) {
  char *check_name = (((sss)->rarray)->name);// here check_name=str_vv

  printf("check_name=%s\n",check_name);      //it prints check_name=str_vv
  printf("r_name=%s\n",r_name);              //it prints r_name=str_vv

  if(!strcmp(check_name,r_name)){            //if statement is not working !!!
     // do something
  }
}

是的,我在调试器中检查了它并没有输入if语句。我试着做了:if(check_name==r_name),但是当我进入调试器时会发生同样的问题。

_这件事吗?在值窗口(使用调试器时出现)中,这两个参数具有以下值:对于r_name,值为:0x40a039 "str_vv",对于check_name,值为:{{ 1}}。我假设这里的数字是地址,因为我说0x40a02f "str_vv"打印相同的字符串" str_vv" ...但是调试器的值窗口中显示的地址是否重要?

0 个答案:

没有答案