有下列程序  #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-04-01  53

问题 有下列程序
 #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;异或运算满足如下规则:1:满足交换律;2:一个数与0异或的结果仍是原数;3:一个数与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://kaotiyun.com/show/b2kp777K
0

最新回复(0)