c语言里||和&&的区别

为什么if((a*a+b*b>c*c)&&(b*b+c*c>a*a)&&(c*c+a*a>b*b))这里一定要用&&而不是||呢?求大佬解答#include<stdio.... 为什么 if((a*a+b*b>c*c)&&(b*b+c*c>a*a)&&(c*c+a*a>b*b))这里一定要用&&而不是||呢?求大佬解答
#include<stdio.h>
int main()
{
int a,b,c;
printf("请输入三角形的3条边: \n");
scanf("%d,%d,%d",&a,&b,&c);
if((a+b>c)&&(b+c>a)&&(a+c>b))
{
if((a*a+b*b==c*c)||(a*a+c*c==b*b)||(b*b+c*c==a*a))
{
printf("这个三角形为直角三角形\n");
}
if((a*a+b*b>c*c)&&(b*b+c*c>a*a)&&(c*c+a*a>b*b))
{
printf("这个三角形为锐角三角形\n");
}
if((a*a+b*b<c*c)||(a*a+c*c<b*b)||(b*b+c*c<a*a))
{
printf("这个三角形位钝角三角形\n");
}
}
if((a+b<c)||(a+c<b)||(b+c<a))
{
printf("这三条边不能组成三角形.\n");
}
return 0;
}
展开
 我来答
鲨鱼星小游戏
高粉答主

2021-08-23 · 最爱分享有趣的游戏日常!
鲨鱼星小游戏
采纳数:2712 获赞数:238255

向TA提问 私信TA
展开全部

区别如下:

1、运算符性质不同。

&是一个位运算符。

&&是一个逻辑运算符

2、作用不同。

&是将两个二进制的数逐位相与,结果是相与之后的结果。

&&就是判断两个表达式的真假性,只有两个表达式同时为真才为真,有一个为假则为假,具有短路性质。

3、用途限制。

&除了是一个位运算符,也是取地址符。

&&就是一个单纯的逻辑运算符,没有任何其他含义。

发展历史

C语言诞生于美国的贝尔实验室,由丹尼斯·里奇(Dennis MacAlistair Ritchie)以肯·汤普森(Kenneth Lane Thompson)设计的B语言为基础发展而来,在它的主体设计完成后,汤普逊和里奇用它完全重写了UNIX,且随着UNIX的发展,c语言也得到了不断的完善。

为了利于C语言的全面推广,许多专家学者和硬件厂商联合组成了C语言标准委员会,并在之后的1989年,诞生了第一个完备的C标准,简称“C89”,也就是“ANSI C”,截至2020年,最新的C语言标准为2018年6月发布的“C18”。

月光疾风_Free
推荐于2017-11-27 · TA获得超过681个赞
知道小有建树答主
回答量:262
采纳率:0%
帮助的人:211万
展开全部
"&&"表示"与", 意思是条件必须同时成立

"||" 表示"或", 意思是条件有一个成立即可.
if((a*a+b*b>c*c)&&(b*b+c*c>a*a)&&(c*c+a*a>b*b))这个是判断锐角三角形的条件,你只要学过数学就应该知道锐角三角形的成立条件是:任意两边长度的平方和大于第三边长度的平方。
所以要用"&&"而不是"||"。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wchyumo2011
2015-08-06 · TA获得超过2万个赞
知道大有可为答主
回答量:5810
采纳率:79%
帮助的人:2723万
展开全部
&&是逻辑与,只有他左右两个表达式都为真,整个表达式才为真,在他的左表达式为假的时候右表达式是不判断的,
||是逻辑或,只要他左右的表达式有一个为真,整个表达式就为真,在他的左表达式为真的时候右表达式是不判断的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sqq8325
2015-08-06 · TA获得超过327个赞
知道小有建树答主
回答量:291
采纳率:100%
帮助的人:213万
展开全部
因为if((a*a+b*b>c*c)&&(b*b+c*c>a*a)&&(c*c+a*a>b*b))这三个条件必须同时满足(也就是逻辑与)的条件下才是锐角三角形。

||的话只要一个条件满足就可以。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友009594e
2015-08-06 · TA获得超过436个赞
知道小有建树答主
回答量:91
采纳率:0%
帮助的人:49万
展开全部
锐角三角形的性质:任何两边的平方的和都必须大于第三边的平方。

因为是“任何...都...”,所以a²+b²>c²,a²+c²>b²,b²+c²>a²这三个式子必须同时满足,而不是满足一个即可,所以使用 &&
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式