问题 单项选择题

以下程序运行后的输出结果是 #include<stdio.h> viod f(int *p, int *q); main() { int m=1, n=2, *r=&m;  f(r, &n); printf("%d, %d", m, n); } void f(int *p, int *q) { P=p+1; *q=*q+1; }

A.1,3

B.2,3

C.1,4

D.1,2

答案

参考答案:A

解析: 在f函数中,p=p+1;的操作改变的是p的指向;而*q=*q+1;的操作,将q所指向存储单元n中的值加1,即m的值不变,仍为1,而n的值变为3。

选择题
单项选择题 B型题