C语言中逻辑运算表达式中的惰性算法

C语言中逻辑运算表达式中的惰性算法在 C 语言的关系表达式及逻辑表达式运算中 按常规的运算是要将运算符中前后的表达式全部进行运算后再进行相应的运算 最后得出结果 C 语言中的逻辑运算符有三个 amp amp 与运算 或运算

欢迎大家来到IT世界,在知识的湖畔探索吧!

C语言的关系表达式及逻辑表达式运算中,按常规的运算是要将运算符中前后的表达式全部进行运算后再进行相应的运算,最后得出结果。

C语言中的逻辑运算符有三个,&&:与运算,||或运算,!非运算,其中&&运算只有当两边的值全为非为时结果才为1,||只有两边中有一个值为非0,则结果为1,而!运算则是对其后面的表达式进行取反运算。根据&&的运算规则,则只要前边的值为0,则整个&&运算表达式的值为0,如:int a=1,b; b=1<0&&++a;则运算后,a的值不变,b的值为0,因为1<0这个表达式的值为0,所以&&运算就决定了1<0&&++a这个表达式的结果一定为0,也就没必要对后面的++a再进行运算,所以a的值仍为1;根据||运算的规则,只有当两边全为0时结果才为0,因此,只要||运算符前面的表达式值为1,则||运算符后的表达式就不再进行运算,如:int a=1,b; b=1>0||++a;经过此运算后,a的值不变,b的值为1,因为1>0这个表达式的值为1,所以||就决定了1>0||++a这个表达式的值一定为1,也就没必要对++a再进行运算。

这种算法和现实中的行为是一样的,都已经知道了结果,就没必要再花费时间再去讨问这件事的结果。纯属浪费时间。如:

#include<stdio.h>//C语言逻辑表达式的惰性算法

main()

{

int a=2,b=3,c=4;

int d=a<3&&b<c||c++;

printf(“%d,%d,%d,%d”,a,b,c,d);

}

运行结果如下:

2,3,4,1

——————————–

Process exited after 0.006199 seconds with return value 7

请按任意键继续. . .

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/106180.html

(0)
上一篇 3小时前
下一篇 3小时前

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们YX

mu99908888

在线咨询: 微信交谈

邮件:itzsgw@126.com

工作时间:时刻准备着!

关注微信