中易网

viod main() {char a=1,b=2; char c=a^b<<2; printf("\n%d",c); }

答案:3  悬赏:40  
解决时间 2021-02-12 03:46
viod main() {char a=1,b=2; char c=a^b<<2; printf("\n%d",c); }
最佳答案
a=1 其二进制码为 00000001
b=2其二进制吗为 00000010
^是异或运算(二进制码的)二进制码相同为0 不同为1
<<是二进制码的左移运算就是将二进制码的1向左移动n位

<<运算的优先级比^高
所以 c=a^b<<2
就是说 先把b的二进制码(00000010)左移两位 00001000
然后与a(00000001)进行异或运算 得 00001001
这个二进制码转换为10进制就是9
全部回答
按位异或。
相同为零,不同为一。
任何数与全0异或,值不变。
任何数与全1异或,值取反。
任何数与自己异或,值为0。
例如char a;
a^0xff值为a的反
a^0x0 值为a不变
又如int a;
a^0xffffffff 值为a的反
a^0x0值为a不变
左移运算符“<<”是双目运算符。其功能把“<< ”左边的运算数的各二进位全部左移若干位,由“<<”右边的数指定移动的位数,
高位丢弃,低位补0。
运行过程: <<比^的优先级别高所以先b<<2
b= 0000 0010 b<<2 后b= 0000 1000b=8
然后a^b 最后赋值给c,按位异或过程如下
0000 0001a=1
0000 1000 b=8
0000 1001c=9
主函数其实也是一个函数,当你把它看成一个普通的函数时
那筢它有一个反回值,还有一个形参
void main() 表示反回值类形为无反回值,括号内按理说填的是形参,但这时没有形参的传入,因此也是空的可以填上void 也可不填
main() 也同上,其实其前也有一个void只不过可以省略不写
int main(void)这个是一个标准的函数形,表示着它有一个返回值是ing整型的,因此你在程序的结尾要加上一个return 0;表示反回值为0才可以当然那个0可以是其它整数。而括号内的void也表示没有参数的传入
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
不是一个行的银行卡能取钱吗
有几道计算机题的答案不太确定求助专业人士帮
我为什么在6房间 看不了视频 ?
win8的玩起凡不知道为什么很卡,之前是win7的
可编程硬件描述语言主要包括哪俩种
关于数组的存储位置
请问在哪里可以找到“公路养护及机械操作管理
双鱼女突然不理人
牡丹江国林服装店具体位置
女接过婚,离婚了有个孩子,再找一个男人,最
中国银行东营分行行长是谁
将3个相同的小球放入5个不同的盒子中,有多少
EVE 让人不能跃迁的东西是什么
有人说女人吃了蜂蜜和豆浆要长包块
听说网速太慢,可以申请代理服务器代理上网加
推荐资讯
自然堂亮润美白浓缩精华液
缅甸草花梨和非洲刺猬紫檀相比,哪种更值钱,
《仙声夺人影音坊——恶搞第八套广播体操舞蹈
京津冀一体化之后天津适合房产投资吗?
怎么建立足球俱乐部
GPRS芯片
我粮葡萄酒用纸巾擦干水放在容的行吗
蔡松华牙科地址在什么地方,想过去办事
轮胎型号为1400一24上写的650kpa是多个压力
花之恋地址在什么地方,想过去办事
越南奖状,哪位大神给翻译一下
iPhone5s是用ios7.1.2好还是ios8.4.1好?听说
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?