有以下程序: #nclude void main() {int x=1,y=2,*p=&x,*q=&y,*r; r=p;p=q;q=r; printf(’’%d,%d,%d,%d\n’’,x,y,*P,*q); 程序运行后的输出结果是( )。

admin2021-02-25  26

问题 有以下程序:
#nclude
void main()
{int x=1,y=2,*p=&x,*q=&y,*r;
r=p;p=q;q=r;
printf(’’%d,%d,%d,%d\n’’,x,y,*P,*q);
程序运行后的输出结果是(  )。

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

答案C

解析 x和y只有赋值语句,其值为1和2;p虽然赋了初值指向了x,但后来又对其赋值指向了y,所以其值是2,因此选项C正确,q同样也在赋初值之后进行了变量赋值,其值为x。
转载请注明原文地址:https://kaotiyun.com/show/uGtp777K
0

最新回复(0)