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

int A+2

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

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

怎么可能等于12呢? 这种东西自己试一下就好了。 答案是肯定是10, a*=2+3也就是a=a*(2+3)=2*5=10。 #include int main(void) { int a=2; a*=2+3; printf("%d",a); return 0; } 上面的代码放到vc下面 运行一下,输出a的值看看。

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

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和b的值分别为5和2。 其实没什么特别的,就是先执行a=b+2让a变成4,然后执行a++让a变成5,最后执行a+b不会影响任何变量,所以最终a为5,b为2。 测试代码: #include void main(){ int a=1,b=2; a=b+2,a++,a+b; printf("a=%d b=%d\n"...

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

a初值为1,每次循环结束 执行一次a+=2;a++ 即a+=3 a=1,4,7,10当a=10时退出循环 b=2+1+4+7=14

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

你应该是在TC编译的吧,TC中int是16位的。32767是16位signed int的上限,加2就溢出了。

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