C语言,这运行结果怎么求的

#include
int b=2;
int main()
{
int a[10]={1,2,3,4,5,6,7,8},i;
for(i=2;i<4;i++)
{
b=fun(a)+b;
printf("%d\t",b);
}
printf("\n");
return 0;
}
fun(int *k)
{
b=*k+b;
return(b);
}

看不到include包含了啥,也不知道fun这个函数你声明了吗,指针k就是你传个进去的数组的首地址(a),for循环i=2;i<4;i++,表示i从2开始每次先判断条件<4然后+1

楼主是让我来解释原理?还是楼主得到的结果与期望结果不同,需要修改代码?

5 11
图片说明