在假设数字以2的补码形式存储的情况下,下列程序的输出。
null
#include<stdio.h> int main() { printf ( "%c" , ~( 'C' * -1)); return 0; } |
Sowmya提供。左室 (A) B (B) A. (C) 编译错误 (D) C 答复: (A) 说明: 在没有任何错误或警告消息的情况下执行,上述代码的输出为 “B” 以上程序流程如下所示 第一步: 首先处理(’C’*-1) “C”的ASCII值为67,并乘以-1作为 67 * (-1) = -67 第二步: -67的二进制表示是10111101 10111101的位反变成(01000010)2=(66)10 第三步: 66是“B”的ASCII值 所以(’C’*-1)=66,所以上面程序的输出是B 这个问题的小测验
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END