A-A+
有以下程序 main(){ inti=0; i=-i; printf(%dn i);) 程序
问题详情
有以下程序 main(){ inti=0; i=-i; printf(%dn,i);) 程序运行后的输出结果是
A.0
B.1
C.8
D.0.1
请帮忙给出正确答案和分析,谢谢!
参考答案
正确答案:D
运算符(~)是位运算符中唯一的一个单目运算符,运算对象应置于运算符的右边,其运算功能是把运算对象的内容按位取反(使每一位上的0变1,1变0)。i的初值为0,二进制位00000000,因此取反后结果为11111111,最高位为符号位,为-1的补码形式,因此输出结果为-1。