A-A+

有以下程序 main(){ inti=0; i=-i; printf(%dn i);) 程序

2022-08-12 19:08:59 问答库 阅读 197 次

问题详情

有以下程序 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。

考点:程序