文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>关于运算顺序

关于运算顺序

时间:2010-06-19  来源:seuzw

# include <stdio.h>
main()
{int a,b,c;
a=b=c=0;
printf("%d,%d,%d,%d",a,b,c,a++&&b++||c++);
}


这段小程序的输出结果为1010

原因如下:

首先printf的运算顺序是从右到左的,因此先运算a++&&b++||c++,&&和||有一个特点,就是可以保证执行顺序严格从左至右(+,-等运算无此功能),因此先a++,但a为0,编译器是个懒鬼,每当他见&&操作符第一个操作数就是0时,则不进行&&后面的比较,因此b++忽略,执行到这里a为1,b为0,然后编译器执行c++(注意是||完成后++才生效),由于&&,||之前a,b,c皆为0,故逻辑运算的结果为0,逻辑运算结束后a为1,b为0,c为1,先输出a++&&b++||c++的结果0,然后输出c,b,a(在buffer中),从buffer出来顺序相反,故最终结果为1010

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载