问答详情
源自:3-3 自增与自减运算符

自增自减运算

#include

int main() {    int x = 0;    printf("x=%d\n",++x);    printf("x=%d\n",x++);    return 0; } 为什么最后第一个就等于0,第二个就等于2

提问者:一宿 2018-01-22 17:26

个回答

  • 慕设计5446271
    2018-01-22 17:56:33
    已采纳

    第一个:因为是++x,先取值,后运算。先打印x,再运算x+1;即先打印0,再运行0+1赋值给x

    第二个:由于第一个运行后x值1,x++先运算,后取值。先运算x=x+1,即运行1+1后赋值给x,再打印赋值结果2

  • 慕慕8322428
    2018-01-25 12:03:47

    最佳答案出++a,不是先运算,后取值吗??为什么最佳答案出不一样呢


  • 功夫熊猫
    2018-01-22 18:00:00

    x是变量。

    ++x是取出x值,增1,然后再参与表达式的计算。

    x++是先取x值参与运算,表达试结束后,x再增1。


  • 眼中那份执着
    2018-01-22 17:58:11

    ++x先加一在输出;x++先赋值再加一