下面程序的输出是什么? int main(void) { int a[5] = {1, 2, 3, 4, 5}; int *ptr = (int *)(&a + 1); printf(“%d %d”, *(a + 1), *(ptr – 1)); return 0; }
区块链毕设网qklbishe.com为您提供问题的解答
下面程序的输出是什么?
int main(void) {
int a[5] = {1, 2, 3, 4, 5};
int *ptr = (int *)(&a + 1);
printf(“%d %d”, *(a + 1), *(ptr – 1));
return 0;
}
&a是把一维数组强行提升至二维数组,相当于对int a[1][5]进行了指针移动,所以ptr的地址为a[5],ptr减1即为a[4]
07:29
以上就是关于问题下面程序的输出是什么? int main(void) { int a[5] = {1, 2, 3, 4, 5}; int *ptr = (int *)(&a + 1); printf(“%d %d”, *(a + 1), *(ptr – 1)); return 0; }的答案
欢迎关注区块链毕设网-
web3一级市场套利打新赚钱空投教程
区块链NFT链游项目方科学家脚本开发培训