问答详情
源自:3-2 算术运算符

先自加减 跟 后自加减 有什么区别?

#include <stdio.h>

int main()

{

    int x = 10;

    int y = -3;

    printf("x+y=%d\n", x+y);  

    printf("x-y=%d\n", x-y);

    printf("x*y=%d\n", x*y);

    printf("x/y=%d\n", x/y);

    printf("x%y=%d\n", x%y);

    printf("++x=%d ??\n", ++x);

    printf("x++=%d ??\n", x++);

    printf("x--=%d ??\n", x--);

    printf("--x=%d ??\n", --x);

    return 0;    

}

输出:

x+y=7
x-y=13
x*y=-30
x/y=-3
x%y=1
++x=11 ??
x++=11 ??
x--=12 ??
--x=10 ??

提问者:Atomshang 2016-10-06 14:49

个回答

  • 乘风化羽
    2016-10-06 15:21:24
    已采纳

    顾名思义,先自加减就是,先加上1再取整体的值;后自加减就是先把值取出,在下一步运算时加1。比如printf(“++x=%d\n,++x")表示x加上1后输出为11。此事x等于11,printf(“x++=%d\n,x++”)先取出x=11再在下一步运算时加上1,所以这一步输出为11。printf(“x--=%d\n,x--”)此时x=11+1这个1为上一步的运算。然后输出x=12,在下一步运算时减去1.打字好累,不用谢我,叫我雷锋。

  • 慕粉4107231
    2016-10-06 15:07:38

    int x=10
    printf("%d\n",++x);x=10先运算x=10+1后打印x=11

    printf("%d\n",x++);x由上可知是11这里先运算再打印x=11+1打印就是12
    以下同理