我已经得到了这个代码,我不太确定为什么它的行为是未定义的.我的猜测是它与两个字符串的内存位置和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)