多谢 求解题过程

谢谢 求解题过程
谢谢   
上机答案是14   
不过自己手动计算是13 
 想知道如何求解 谢谢
#include "stdafx.h"
#include<iostream>
#include<stdio.h>
using namespace std; 
int i=0;

int fun (int n)
{
static int a=2;
a++;
return a+n;

}
 void main ()
{
int k=5;
{
   int i=2;
   k+=fun(i);
}
k+=fun(i);
    cout<<k;
 return ;
 }



------解决方案--------------------
因为a是静态变量,值会保留下来,初始化时值是2,第一次调用时变成3,第二次调用时就变成了4