问题
单项选择题
有以下程序:
#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。