早教吧作业答案频道 -->其他-->
C语言中.n等于3,b=(n++)+(++n)+(n++)等于多少
题目详情
C语言中.n等于3,b=(n++)+(++n)+(n++)等于多少
▼优质解答
答案和解析
int main()
{
int n = 3;
printf("%d\n", (n++)+(++n)+(n++));
printf("%d\n", n);
int m = 3;
printf("%d\n", (m++)+(++m));
printf("%d\n", m);
return 0;
}
我自己试了一下,在Windows和linux,这个程序运行的结果相同,都是 12 6 8 5.
由此可以推算一下运行的方式,很明显,对于 (n++)+(++n)+(n++) 的计算,不是 ((n++)+(++n))+(n++)来的,不然结果就是 8+6=14了.反之也不对.
唯一的解释就是,12 = 4+4+4, 8=4+4.也就是说,以上两个计算当中,值只增加了1次,在算出结果之后,值才按我们预期的计算.
于是我有试了一下:
int j = 3;
printf("%d\n", (j++) + (j++));
printf("%d\n", j);
结果正如我所料,是 6 5.
结论:在 ++x 与 x++ 的连续表达式中,先计算 ++x 的数量,每有1个 ++x, x的值增加1;然后进行 运算符(+,-)运算,最后执行 x++运算.
{
int n = 3;
printf("%d\n", (n++)+(++n)+(n++));
printf("%d\n", n);
int m = 3;
printf("%d\n", (m++)+(++m));
printf("%d\n", m);
return 0;
}
我自己试了一下,在Windows和linux,这个程序运行的结果相同,都是 12 6 8 5.
由此可以推算一下运行的方式,很明显,对于 (n++)+(++n)+(n++) 的计算,不是 ((n++)+(++n))+(n++)来的,不然结果就是 8+6=14了.反之也不对.
唯一的解释就是,12 = 4+4+4, 8=4+4.也就是说,以上两个计算当中,值只增加了1次,在算出结果之后,值才按我们预期的计算.
于是我有试了一下:
int j = 3;
printf("%d\n", (j++) + (j++));
printf("%d\n", j);
结果正如我所料,是 6 5.
结论:在 ++x 与 x++ 的连续表达式中,先计算 ++x 的数量,每有1个 ++x, x的值增加1;然后进行 运算符(+,-)运算,最后执行 x++运算.
看了 C语言中.n等于3,b=(n...的网友还看了以下:
甲数等于2*3*5*a,乙数等于2*3*7*a,那么当a等于()时,甲乙两数的最大公应数是30?当 2020-04-27 …
A 3分之1约等于0.333约等于33.3%()B 一个数自然数增加它的20%后,再减少20%,这 2020-05-16 …
假如1等于5,2等于10,3等于15,4等于20,请问,6等于多少? 2020-05-22 …
有关数学映射和排列的一个问题已知X属于{1,2,3,4,5},F(X)={6,7,8},求:符合F 2020-06-04 …
“1等于5,2等于15,3等于215,4等于2145,那么5等于多少呢?”这是一道智商测试题,有谁 2020-06-30 …
三个方块加上两个圆等于9.2,两个方块加上三个圆等于8.3.方块等于多少?圆等于多少? 2020-07-03 …
一件饮料进价是50元卖价是100元5件赠一件求一件净挣多少钱我用了两种方法不知道那个对100乘5除 2020-07-11 …
3个1等于2,3个2等于3,3个3等于4,3个4等5,到最后等于10和15的时候要多少个1才能组成 2020-07-17 …
3的一次方等于3,3的二次方等于9,3的三次方等于27,3的四次方等于81...,那么3的2007 2020-07-17 …
1等于0,2等于96,3等于80.4等于88.5等于898.6等于多少? 2020-07-17 …