牛头701用什么弹簧:关于C语言

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/30 17:04:46
main()
{ int m=3,n=4,x;
x=-m++;
x=x+8/++n;
printf("%d\n",x);
}
程序运行后的输出结果是

答案应该是-2
分析:
main()
{
int m=3,n=4,x;
x=-m++; //++ 的优先级最高,所以这点先算++,后再算-,那样的话,这点运行完后,x的值为-3;
x=x+8/++n; //这点 是先运算++n,再算8/++n,最后是x+8/++n,所以这步后的x值为-2;再一点强调就是++n的意思是先自加,再引用;
printf("%d\n",x);
}

main()
{ int m=3,n=4,x;
x=-m++; //-优先级大于++,m++为3,x=-3下次输出为4
x=x+8/++n; //++n为5,除号为整除,所以8/++n=1
printf("%d\n",x); //x=-2
}
注意:
m++ 是下次用到时才累加;
++m 是当时就累加

m++是先引用,后自加.
++m是先自加,后引用.

-2

0