早教吧 育儿知识 作业答案 考试题库 百科 知识分享

求计算机2级简单计算答案,最好有点注解main(){intm=3,n=4,x;x=-m++;x=x+8/++n;printf("%d\n",x);}程序运行后的输出结果是A)3B)5C)-1D)-2x=-m++这块为什么不是先把-3给x,然后加1得-2.++在后面不是应该后加

题目详情
求计算机2级简单计算答案,最好有点注解
main()
{ int m=3,n=4,x;
x=-m++;
x=x+8/++n;
printf("%d\n",x);
}
程序运行后的输出结果是
A) 3 B) 5 C) -1 D) -2
x=-m++ 这块为什么不是先把-3给x,然后加1得-2.++在后面不是应该后加1吗
▼优质解答
答案和解析
main()
{ int m=3,n=4,x;
x=-m++;// 这步之后,m=4,x=-3;那个人说错了,x=-++m才是先自加,然后赋值.x=-m++,是先赋值再自加.
x=x+8/++n;// x结果是:-3+8/5【取整数部分】=-2,这个地方他又错了,虽然结果一样
printf("%d\n",x);////输出x的值-2
}
------------------------
这个题目考的就是++n和n++的区别,++n是先自加再计算表达式,而n++是先计算表达式再赋值.上面那个人是错地