int a[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[5],*q=p+2;
int a[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[5],*q=p+2;
日期:2019-10-02 01:53:29 人气:1
你的程序的确很绕啊。但是在我想了一下换是明白了。:
你只要把你每次改变b记下来就明白了
我给你说10吧
28也是一样的
首先b
=
2;
之后fun函数传过去了a[2]的地址就是3
,经过运算函数返回了b的值是5
,在接着就是
b=fun(&a[i])+b;这句
最后b就被改写成了10了
最后输出就是10
第二次循环b的值是10
不是2
这个关键的
那28也就是这个道理了。明白了吧!!
这里我就是说一下为什么第一次循环是10
因为你的程序只是运行了一次,所以b的初始化只