mshd.net
当前位置:首页 >> int A+2 >>

int A+2

根据运算符优先级, -=,*=都是从右往左计算,所有先算a+2,然后再从右往左计算。 最好别写这种代码,不同编译器出来的结果是不一样的,而且不同语言环境,出来的也有可能不一样。

先执行a++,先使用a的值(即是先用a=2计算),然后执行a+1=3 所以2*1/3=0 从左往右计算

int a=2; a+=a-=-a*a++; 相当于 int a=2; a+=a-=-a*a; a++; 好了,我们来算a+=a-=-a*a; 他又相当于: a-=-a*a; a+=a; 又相当于: a=a-(-a*a); a=a+a; 再结合之前的a++; 整个a+=a-=-a*a++; 就相当于: a=a-(-a*a);//a原来值为2,运算完之后 a=2-(-...

a+=a-=a*a a+=a-=4 a+=-2 (a = -2) a = -4

C语言提供一种特殊的运算符——逗号运算符。用它将两个表达式连接起来。如: 3+5,6+8 称为逗号表达式,又称为“顺序求值运算符”。逗号表达式的一般形式为 表达式1,表达式2 逗号表达式的求解过程是:先求解表达式1,再求解表达式2。整个逗号表达式...

++在变量后面,是运算之后再加1;++在变量前面,是运算之前先加1。 这段代码的意思就是,先计算b=2+3*2,再计算2+1并赋给a。所以运算之后b=8,a=3。 所以如果这段代码实在for循环中的话,下次运行的时候b=12,a=4.

2*2=4,a+= 4 => a为6,表达式也为6 a-=6,因此a为0

首先a赋值为2; 然后计算a*=3,此时a为6; 然后计算a-=6,此时a为0; 然后计算a*=0,此时a为0; 然后计算a+=0,此时a为0。 最后输出a为0。 另外,只有C语言的考试会编这样晦涩难懂易出错的语句,实际工作应用中请不要这么做。

有些信息在存储时,并不需要占用一个完整的字节,而只需占几个或一个二进制位。例如在存放一个开关量时,只有0和1两种状态,用一位二进位即可。为了节省存储空间,并使处理简便,C语言又提供了一种数据结构,称为“位域”或“位段”。 所谓“位域”是...

结果是111. 调用函数的时候,函数的参数是从后往前依次通过堆栈传参. 比如一个函数: aaa( 1,2,3 ); 这里是先把 3 入栈,然后是 2 ,最后是 1 . 那么同样, printf 的其中三个参数排列依次是 --a,a++,--a 其中a的值是 2 ,先算倒数第一个 --a, 再算a++...

网站首页 | 网站地图
All rights reserved Powered by www.mshd.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com