鱼C论坛

 找回密码
 立即注册
查看: 3519|回复: 8

请教一下~~

 关闭 [复制链接]
发表于 2011-3-3 09:00:50 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
++a&&b--&&++c           怎么理解??费解中。。。。。{:3_57:}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-3-3 12:42:23 | 显示全部楼层
(++a)&&(b--)&&(++c)
++,--运算符的优先级大于逻辑运算符&&(且)的优先级,而&&有自左向右的结合性
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-3-5 12:24:31 | 显示全部楼层
其实问题示例是这样的:
#include <stdio.h>

void main()
{
        int a , b , c ;
        scanf("%d%d%d",&a ,&b ,&c);
        printf("e = %d , a = %d , b = %d , c = %d \n",++a&&b--&&++c , a , b , c);
        printf("a = %d , b = %d , c = %d ,e = %d \n",a , b , c ,++a&&b-- && ++c);

}
关于这道题的数字运算,我很迷茫,能帮我解答下吗?
运行结果:
e = 0 , a = 1 , b = -1 , c = 0 ;
a = 2 , b = -2 , c = 1 , e = 1 ;
{:3_57:}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-3-5 13:22:39 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-3-6 10:21:05 | 显示全部楼层

要注意&&的短路特性,比如a=-1;那么
(++a)&&(b--)&&(++c)
只会计算表达式++a,得到0后不会对表达式b--和++c进行求值
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-3-6 13:54:06 | 显示全部楼层
回复 5# 仰望天上的光


    短路特性?能解释的再清楚些吗?我不是很明白。
麻{:3_57:} 烦那你了~~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-3-6 13:59:48 | 显示全部楼层
回复 5# 仰望天上的光

百度的结果:(还能补充些新知识吗?谢谢!)


    (表达式1)&&(表达式2) 如果表达式1为假,则表达式2不会进行运算,即表达式2“被短路”

   (表达式1)||(表达式2) 如果表达式1为真,则表达式2不会进行运算,即表达式2“被短路”

{:3_61:}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-9-10 15:46:59 | 显示全部楼层
支持一下!!!!!!!!!!!!!!!!!!!!!!!!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-9-10 22:38:05 | 显示全部楼层
注意结合性(方向),有时用不同的C环境,结果也不同,具体看一下,你使用的环境
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-19 18:32

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表