有以下程序: #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);

admin2018-01-14  14

问题 有以下程序:
   #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/bHxp777K
0

最新回复(0)