main() {int a[5]={2,4,6,8,10},*p,**k; p=a; k=&p; printf("%d",*(p++)); printf("%d\n",**k); }为什么结果是24

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/06 10:27:01
main() {int a[5]={2,4,6,8,10},*p,**k; p=a; k=&p; printf(

main() {int a[5]={2,4,6,8,10},*p,**k; p=a; k=&p; printf("%d",*(p++)); printf("%d\n",**k); }为什么结果是24
main() {int a[5]={2,4,6,8,10},*p,**k; p=a; k=&p; printf("%d",*(p++)); printf("%d\n",**k); }
为什么结果是24

main() {int a[5]={2,4,6,8,10},*p,**k; p=a; k=&p; printf("%d",*(p++)); printf("%d\n",**k); }为什么结果是24
因为printf("%d",*(p++));这一句输出2,是因为p指向的是数组的第一个元素,所以输出2
在输出2以后,由于有一个p++,所以p就指向数据的第二个元素,**k就是取出p所指向元素的值,而p指向的是数组的第二个元素,所以就输出4了