问题 单项选择题

有以下程序 #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);} 程序运行后的输出结果是( )。

A.1,4

B.4,4

C.3,1

D.4,1

答案

参考答案:D

解析: C语言只存在传值调用,形参的改变不会影响实参的改变,调用函数f,p指向a[3]输出4,但是r仍然指向a[0]输出1。

单项选择题 A1型题
单项选择题