奉献100分!求解逻辑表达式的问题

[复制链接]
查看11 | 回复3 | 2012-2-23 16:57:14 | 显示全部楼层 |阅读模式
//如果我没记错的话,很多运算的计算次序都没有规定死,是由编译器(比如VC++, tc是不同的编译器)的实现者自己选择的//即先算左边,还是先算右边,并不确定//然后让我们回到 _逻辑短路原则_ 这个话题//_逻辑短路原则_ 恰恰就是对 逻辑运算过程 计算次序的一个规定,规定:先计算运算符左边的达式//那么,假设有一个运算//T && T || F && T//由运算优先级!,有//(T && T) || (F && T)//这时面临一个选择,先计算 || 左边还是右边?//参考 _逻辑短路原则_,先计算左边 (T && T) => T//从而有//T || (F && T)//再次参考 _逻辑短路原则_...
回复

使用道具 举报

千问 | 2012-2-23 16:57:14 | 显示全部楼层
5>3&&8383&&83&&83)&&(83---");return 5;}int dai0(){printf("--0---"...
回复

使用道具 举报

千问 | 2012-2-23 16:57:14 | 显示全部楼层
&&是逻辑运算符,如果其左侧的表达式结果为0的话,那么右边的表达式就不需要运算了,也就是“短路”。所以这里首先要先评估左边的5>3....
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行