选择题   有以下程序:
    #include<stdio.h>
    void f(int *p);
    main()
    {int a[5]={1, 2, 3, 4, 5}, *r=a;
    f(r); printf('%d\n', *r);
    }
    void f(int *p)
    {p=p+3; printf('%d, ', *p); }
    程序运行后的输出结果是______。
 
【正确答案】 D
【答案解析】本题考查参数的按值传递。调用f(r),函数创建一个整型指针p,然后将r的值传给p,即p也指向a,p=p+3,输出p所指变量的值,即数组右移3位,即a[0+3]的值4,然后函数结束,指针p被销毁,r中的值不变,还指向a[0],所以输出为4,1。