选择题   有以下程序:
    #include<stdio.h>
    void fun(int n)
    {  static int k=0;
    if(n<0) {printf('-');n=-n;}
    k+=n%10;printf('%d,',k);
    if(n/10)fun(n/10);
    }
    main()
    {  int x=-12;
    fun(x);printf('\n');
    }
    程序运行后的输出结果是
 
【正确答案】 A
【答案解析】fun函数使用了静态变量,静态变量只在声明时初始化一次。首先,实参的数值是-12,if判断后输出负号,并将n=12,计算k+=n%10得k=2,因此输出2,,后将数值除以10,结果为1,递归调用fun函数。第二次调用fun,此时n=1,k=2,计算k+=n%10得k=3,因此打印3,,故最后打印结果为-2,3,。故答案为选项A。