第二行执行的是printf("%d\n", f2());,算上前面的for循环,一共执行了4次f2,printf语句是先执行f2然后再输出的。
看到f2里面,其实就是两个静态变量。s初始为0,k=1;然后每次进来k都会自增,进来四次,就相当于是1+2+3+4,所有最后输出出来就是10.
你不知道第二行输出是10,是不知道静态变量是啥意思吧?静态变量你可以理解为全局变量,他只会初始化一次,也就是说,static int k = 1, s;这一句,只会在第一次进入f2的时候执行,后面再进去,是不会执行k=1的。