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

admin2022-06-24  16

问题 有以下程序:
#include<stdio.h>
void fun(int*P,int*q)
{p=p+1;*q=*q+1;}
main(*)
{
intm=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://jikaoti.com/ti/JNd0FFFM
0

最新回复(0)