C | C测验–113 |问题1

在假设数字以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
喜欢就支持一下吧
点赞12 分享