www.fltk.net > #DEFinE F(x) x+y*z mAin() {int x=3,y=6,z=0; iF(x++...

#DEFinE F(x) x+y*z mAin() {int x=3,y=6,z=0; iF(x++...

结果是14。注意宏只是个替换,不自动加括号。首先 if 里面 x<y 成立,且 x++,x=4

main() { int x=3,y=0,z=0; if(x=y+z) printf("*

程序只执行一次啊!因为程序只执行一次 有一个break 就说明只出现一种情况就结束

z=y<0是先判断y<0,此表达式值为0,即赋值z=0,然后表达式的值作为if判断条件,

自增和自减运算符,在操作数前面的会等整个表达式的值,在后面的,会与原来的值相等,如 int x=1

解释:if(x=y+z)成立就执行输出*** 。否则就输出### 至于x=y+z是赋值表达式来,赋

你确定是这个结果? 按道理来说y+z!=0所以括号里为真,所以运行printf("****

第一次循环中优先运算y-=1,y=5,x=3,故z++,z=1,循环之后x=4; 第二次循环中优先

main() { int x=3,y=5; float z; z=x/y+y%x; pri

x*=3+2等价于x=x*(3+2) ,答案是20 x*=y==(z=4); y==(z=4

网站地图

All rights reserved Powered by www.fltk.net

copyright ©right 2010-2021。
www.fltk.net内容来自网络,如有侵犯请联系客服。zhit325@qq.com