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

admin2009-04-15  31

问题 有以下程序:    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,定义了3个指针变量p、q、r,并让指针p指向变量a,让q指向变量b,然后通过一个中间指针变量r,使指针变量p和q互换,互换后p指向b,q指向a,因此最后输出的*p、*q的值为8、7、a、b的值没有改变仍为7、8。所以,4个选项中选项C符合题意。
转载请注明原文地址:https://jikaoti.com/ti/b0K0FFFM
0

最新回复(0)