选择题   若有以下程序
    #include<stdio.h>
    void sp(int *a)
    {  int b=2;
      a=&b;*a=*a*2;  printf('%d,',*a);
    }
    main()
    {  int k=3,*p=&k;
      sp(p); printf('%d,%d\n',k,*p);
    }
则程序的输出结果是______。
 
【正确答案】 D
【答案解析】[考点] 函数、指针和数组 首先在主函数中给整型变量k赋值为3,将变量k的地址赋给指针变量p;调用sp函数,将实参p的值传给形参a,在sp函数中,指针变量a又获得变量b的地址,通过运算后,输出a的值为4;返回主函数,输出k的值和p的值均为3。