为什么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];。