有以下程序: #include <stdio.h> main() { int x=3,y=2,z=1; printf("%d\n",x/y&~z); 程序运行后的输出结果是( )。

admin2009-01-15  34

问题 有以下程序:    #include  <stdio.h>    main()    {  int x=3,y=2,z=1;       printf("%d\n",x/y&~z);    程序运行后的输出结果是(    )。

选项 A、3
B、2
C、1
D、0

答案8

解析 &是按位“与”运算符,若参加运算的两个运算量的相应位都为1,则该位的结果值为1,否则为0。~是“取反”运算符,用来对一个二进制数按位取反,即将0变1,1变0。对于 x/y&~z,先计算x/y的值,结果为1,用十六进制表示为0001;z用十六进制表示为0001,则~z为FFFE;最后进行&运算,整个表达式的值为0。
转载请注明原文地址:https://jikaoti.com/ti/vgK0FFFM
0

最新回复(0)