有下列程序  #include<stdio.b>  main()  { intx=3,y=5,z1,z2;   z1=y^x^y;z2=x^y^x;   printf("%d,%d\n",z1,z2);  }  程序执行后的输出结果是(

admin2022-10-24  23

问题 有下列程序
 #include<stdio.b>
 main()
 {  intx=3,y=5,z1,z2;
    z1=y^x^y;z2=x^y^x;
    printf("%d,%d\n",z1,z2);
 }
 程序执行后的输出结果是(          )。

选项 A、7,7
B、5,3
C、8,8
D、3,5

答案D

解析 “^”异或运算,其功能是参与运算的两个数,按位异或,如果两个相应位相同,结果为0,否则为1;异或运算满足如下规则:①满足交换律;②一个数与0异或的结果仍是原数;③一个数与1异或的结果是原数按位取反;所以题干中,y^x^y等价于y^y^x,等价于0^x,等价于x,即z1=x;x^y^x等价于x^x^y,等价于0^y,等价于y,即z2=y;输出结果为3,5。故本题答案为D选项。
转载请注明原文地址:https://jikaoti.com/ti/yfd0FFFM
0

最新回复(0)