如题所述
第1个回答 2016-09-24
输出x的值,但是x此时已经是2了,因为x=x+1追问
后缀的++不应该是x放入后面的运算吗
追答X++等价于X=X+1
追问那和++x的区别呢
追答单独一条语句,++x和x++没有区别,因为就这一个运算,自然没有先后之分
但是如果有多个运算,比如:
x=1
y=++x+2意思是x先递增1,再加上2,再赋值给y,y的值是4;
y=(x++)+2的意思是x加上2赋值给y,x再递增1,y的值是3。
第2个回答 2016-09-24
这种问题 其实你可以采用反汇编的形式来思考。
每个;号都代表依次执行。 想
x=1 ; 就是说把1入栈给x;
X++; 意思是 x账内的数据+1;
printf 打印出X
这个时候应该是2追问
每个;号都代表依次执行。 想
x=1 ; 就是说把1入栈给x;
X++; 意思是 x账内的数据+1;
printf 打印出X
这个时候应该是2追问
后缀的++不应该是x放入后面的运算吗