![](https://iknow-base.cdn.bcebos.com/lxb/notice.png)
请问c语言中&&和||的意思
谁能解释一下这段代码中的c=a&&b吗它是什么意思?我只会a>b这种运算。#include<stdio.h>#definePFprintf("c=%d,d=%d\n",c...
谁能解释一下这段代码中的c=a&&b吗它是什么意思?我只会a>b这种运算。
#include<stdio.h>
#define PF printf("c=%d,d=%d\n",c,d);
int main(){
int a=1,b=2,c=3,d=4;
c=a&&b;d=a||b; PF
c=!a&&b;d=!a||!b; PF
} 展开
#include<stdio.h>
#define PF printf("c=%d,d=%d\n",c,d);
int main(){
int a=1,b=2,c=3,d=4;
c=a&&b;d=a||b; PF
c=!a&&b;d=!a||!b; PF
} 展开
展开全部
&&是逻辑与.
A&&B 只有当A和B都为真时,结果为真.否则为假.
A||B是逻辑或, 当A和B都为假时,结果为假. 否则为真.
int a=1,b=2,c=3,d=4;
c=a&&b;= 1&&2=1
d=a||b; =1||2=1
PF
c=!a&&b;=!1&&2=0&&2=0
d=!a||!b; =!1||!2=0||0=0
PF
追问
为什么1&&2是1啊
追答
逻辑运算,非零则为真
真与真,结果为真,即1
展开全部
并且,或者
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
C语言在进行逻辑与和或运算的特殊性
a && b
如果a为0,则上述表达式的值为0,这时不进行b的运算;只有当a的值为非0时,才进行b的运算。
如:int i=0,j=10;
那么表达式“i && j++”的值为0, i的值为0,j的值为1
而表达式 “i+1 && j++”的值为1,i的值为0,j的值为2
a || b
如果a为非0, 则上述表达式的值为1,这时不进行b的运算;只有当a的值为0时,才进行b的运算。
如:int i=0,j=10;
那么表达式“i || j++”的值为0, i的值为0,j的值为2
而表达式 “i+1 || j++”的值为1,i的值为0,j的值为1
a && b
如果a为0,则上述表达式的值为0,这时不进行b的运算;只有当a的值为非0时,才进行b的运算。
如:int i=0,j=10;
那么表达式“i && j++”的值为0, i的值为0,j的值为1
而表达式 “i+1 && j++”的值为1,i的值为0,j的值为2
a || b
如果a为非0, 则上述表达式的值为1,这时不进行b的运算;只有当a的值为0时,才进行b的运算。
如:int i=0,j=10;
那么表达式“i || j++”的值为0, i的值为0,j的值为2
而表达式 “i+1 || j++”的值为1,i的值为0,j的值为1
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询