首页 > 试题广场 >

在横线处补充( ...

[单选题]
在横线处补充(      )可以结果输出值为80000007(      )
#include <stdio.h>

int convert(int i)
{
return ___________________;
}

int main()
{
int value = 7;

printf( "%x\n", convert(value) );

return 0;
}
  • i|=1&lt;&lt;31;
  • i&amp;=1&lt;&lt;31;
  • i&amp;=~(1&lt;&lt;31);
  • i^=1&lt;&lt;31;
 << 的优先级 大于 |= ,所以先左移31位 然后或运算

编辑于 2019-09-17 22:47:57 回复(1)
mark
发表于 2019-10-10 15:40:07 回复(0)
就是i | = 1<<31;😂😂😂    i = i | ( 1 << 31 );然后以16进制输出。
二进制:1000    0000    0000    0000    0000    0000    0000    0111;
16进制就是0x80000007。

发表于 2019-09-25 15:45:30 回复(0)
谁来解析一下
发表于 2019-09-11 08:55:51 回复(0)
蒙对了
发表于 2019-09-05 11:34:57 回复(0)