相关疑难解决方法(0)

为什么在C中未定义此代码的行为?

我已经得到了这个代码,我不太确定为什么它的行为是未定义的.我的猜测是它与两个字符串的内存位置和if条件中的位置比较有关.

int main(void) { 
  char *str1 = "xyz"; 
  char *str2 = "xyz";

  if (str1 == str2) {
     printf("Same!\n");
  }  else {
     printf("Not Same!\n");
  }
  return 0; 
}
Run Code Online (Sandbox Code Playgroud)

c undefined-behavior

2
推荐指数
1
解决办法
168
查看次数

标签 统计

c ×1

undefined-behavior ×1