为什么cout<<*lkop[4]的输出是0?

所以,我写了这段代码:

int arr[10] = {0,1,2,3,4,5,6,7,8,9};
 int (*lkop)[10] = &arr;
 cout << *lkop[4];

我期待一个 int 4 出现,但输出是 0;为什么会这样,我真的很困惑。有什么想法吗?提前谢谢你。

回答

[]经营者具有比更高的优先级*运营商。

lkop[4]超出范围,因为arr,它lkop指向,只有 的一个元素int[10]

要先取消引用,您应该添加括号:cout << (*lkop)[4];


以上是为什么cout&lt;&lt;*lkop[4]的输出是0?的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>