早教吧作业答案频道 -->其他-->
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...的网友还看了以下:
望会的老师和同学多多帮忙!谢谢!设数列{an}满足a1+3a2+9a3+...+3(n减一次方)an 2020-03-30 …
多边形对角线公式为什么是N*(N-3)/2还有,多边形的内角和公式为什么是(N-2)*180这还有 2020-04-25 …
求极限1:lim[(n-3)/(2n-1)]∧2.要解法 2:因为:lim[1+(1/n)]∧n= 2020-05-16 …
n-1)+(n-2)+(n-3)+·············+3+2+1等于多少(n-1)+(n- 2020-07-10 …
1+2+3+4+5+.+n=0.5n^2+n1^2+2^2+3^2.+n^2=n(n+1)(2n+ 2020-08-03 …
确定n,m的值,使下列关于x与y的多项式是一个五次三项式x^n-1y+(3-n)xy^n-2-nx^ 2020-11-03 …
m-n=6,mn=-2,则(m+3)(n-3)=多少 2020-11-25 …
单词闯关。1.许多(adj.)2.人们;人(n.)3.姐;妹(n.)4.有(v.)5.电子邮件(n. 2020-12-28 …
假若某蛋白质分子由n个氨基酸构成,它们含有3条多肽链,则它们具有的肽键数和R基团数分别是()A.n个 2021-01-01 …
假若某蛋白质分子由n个氨基酸构成,它们含有3条多肽链,则它们具有的肽键数和R基团数分别是()A.n个 2021-01-01 …