问题 单项选择题

有以下程序:
#include <stdio.h>
void 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(int *p,int *q)函数中,执行p=p+1将p所对应的地址加l,而*q=*q+1是将q所指向的n的地址所对应的值加1,即m的地址所对应的值不变,而n的值为3。

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