【发布时间】:2022-11-17 09:01:07
【问题描述】:
我是 C 语言的初学者,我想知道如果我这样写会发生什么:
int *p;
int b = 4;
int a = 3;
p = &a;
printf("%d", p[1])
我期待结果是“4”,然而,我得到了一个意想不到的结果(这是一个随机数)
这让我更加困惑。我想要一些解释,谢谢。
【问题讨论】:
我是 C 语言的初学者,我想知道如果我这样写会发生什么:
int *p;
int b = 4;
int a = 3;
p = &a;
printf("%d", p[1])
我期待结果是“4”,然而,我得到了一个意想不到的结果(这是一个随机数)
这让我更加困惑。我想要一些解释,谢谢。
【问题讨论】:
p[1] 指向超出p 指向的对象的末尾。取消引用此指针是未定义的行为。
【讨论】: