c语言&&(逻辑与)和&(按位与)的问题

为什么a,b打印出来后会分别是1,96呢?
#include"stdio.h"
void main()
{
int a,b,e,f;
char c,d;
c='a';d='b';a=c&&d;b=c&d;e=c&0177400;
f=c&255;
printf("%d\n%d\n%d\n%d\n",a,b,e,f);
}

第1个回答  2014-04-22
'a' 等于 0x61
'b' 等于 0x62
'a' && 'b' 等于 1
'a' & 'b' 等于 0x60, 即96追问

请问那个逻辑与&&是怎么运算的呢?
按位与又是怎么样运算的呢

追答

&& 连接两个逻辑值
左边不等于0, 即逻辑值等于1
右边同样, 逻辑值等于1
&& 连接后, 两边都等于逻辑值1, 因此结果是1
逻辑值有真, 假两种值, 在 C语言中, 分别用 1, 0这两个整数值表示.

本回答被提问者采纳
第2个回答  2014-04-22
把代码写清点

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网