遇到了这个,取消引用
a-3
内存地址给了我b
中存在的字符。
char *b = "welcome";
{
char *a = "home";
printf("%c", *(a-3));
}
找不到任何相关标准来支持这一点。
尝试使用在线 C 编译器来编译它。它返回一个存储在
b
中的字符。
想了解如何执行此操作
找不到任何相关标准来支持这一点
那是因为没有。由于您越界访问
"home"
,该程序具有未定义的行为,这意味着该程序几乎可以执行任何操作,包括它在您的情况下执行的操作。