main() {int a[5]={2,4,6,8,10},*p,**k; p=a; k=&p; printf("%d",*(p++)); printf("%d\n",**k); }为什么结果是24
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/30 23:30:24
![main() {int a[5]={2,4,6,8,10},*p,**k; p=a; k=&p; printf(](/uploads/image/z/1559427-51-7.jpg?t=main%28%29+%7Bint+a%5B5%5D%3D%7B2%2C4%2C6%2C8%2C10%7D%2C%2Ap%2C%2A%2Ak%3B+p%3Da%3B+k%3D%26p%3B+printf%28%22%25d%22%2C%2A%28p%2B%2B%29%29%3B+printf%28%22%25d%5Cn%22%2C%2A%2Ak%29%3B+%7D%E4%B8%BA%E4%BB%80%E4%B9%88%E7%BB%93%E6%9E%9C%E6%98%AF24)
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了