c语言 b=a&&(-1); 是什么意思

1、以下程序运行后的输出结果是:
#include<stdio.h>
void main( )
{ int a,b,d=25;
a=d/10%9;b=a&&(-1);
printf("%d,%d\n",a,b);
}

2, 1
---------------------

因为

a= 25/10%9 = 2

b = a&&(-1) ,即 2 ||(-1), 两个非0值的逻辑与,结果为真,但b是整型 ,一般的编译器结果为 1(有可能因不同的编译器,结果会不一样,但肯定不是0)追问

&&与||是等价的?

追答

&&是逻辑与 ,a && b = c ,a,b 两值为真时, c才为真
||是逻辑或 ,a || b = c ,a,b 两值只要有一个为真时 ,c为真

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-05-12
逻辑运算,a&&(-1)是a和-1与, 如果a不为0那么结果就是1,如果a为0结果就为0,结果赋给b
第2个回答  2015-05-12
&&逻辑与运输符,就是两边都不为零时,值为1.此时a=2,所以b为1