有以下程序: #include<stdio.h> void fun(int*p,int*q) { p=p+1:*q=*q+1;} main() { int m=1,n=2.*r=&m; fun(r.&n): printf("%d,%d\n",m,n); 程

admin2019-06-12  23

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

选项 A、1,3
B、2,3
C、1,4
D、1,2

答案A

解析 本题中p=p+1;语句只改变指针p的地址,跟p内容无关,所以m值没有改变。而*q=*q+1;语句中q地址指针指向的内容改变了n值,所以n变为3。
转载请注明原文地址:https://kaotiyun.com/show/vjRp777K
0

最新回复(0)