有以下程序 main() { int a=7,b=8,*p,*q,*r; p=&a;q=&b; r=p; p=q; q=r; printf("%d,%d,%d,%d\n",*p,*q,a,b) ;

admin2013-02-23  28

问题 有以下程序    main()    {  int  a=7,b=8,*p,*q,*r;       p=&a;q=&b;       r=p;  p=q;  q=r;       printf("%d,%d,%d,%d\n",*p,*q,a,b) ;    }    程序运行后输出结果是

选项 A、8,7,8,7
B、7,8,7,8
C、8,7,7,8
D、7,8;8,7

答案4

解析 程序中定义了两个变量a和b,并分别赋初值为7和8,定义了三个指针变量p、q、r,并让指针p指向变量a,让q指向变量b,然后通过一个中间指针变量f,使指针变量p和q互换,互换后p指向q所指的内容即b,q指向开始p所指向的内容即 a,因此最后输出的*p,*q的值为8,7,a,b的值没有改变仍为7,8。
转载请注明原文地址:https://jikaoti.com/ti/sTn0FFFM
0

最新回复(0)