gpt4 book ai didi

c - 在将数组的递增地址传递给函数时如何获得此输出?

转载 作者:太空宇宙 更新时间:2023-11-04 08:24:16 25 4
gpt4 key购买 nike

 print(int*a,int*b,int*c,int*d,int*e){
printf("\n%d %d %d %d %d %d",*a,*b,*c,*d,*e);
}

main(){
static int arr[]={97,98,99,100,101,102,103,104};
int *ptr=arr+1;
print(++ptr,ptr--,ptr,ptr++,++ptr);
return 1;
}

O/P:100 100 100 99 100(一些 -ve 值) 在 GCC 和 turbo C 上

根据我的理解,ptr首先指向98,然后传递++ptr使其指向 99。它到底是如何打印 100 的?即使这样,它也不会递减 ptr 直到第 3 个参数并再次打印它。这是怎么回事?

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com