为什么调换x++和++x编码以后第一个printf输出是0?

来源:3-3 自增与自减运算符

孽3

2016-09-06 18:56

#include

int main() {    int x = 0;    printf("x=%d\n",x++);    printf("x=%d\n",++x);    return 0; }为什么第一个printf结果是0?麻烦具体点,多谢
写回答 关注

2回答

  • JustWannaHugU
    2016-09-06 21:06:42

    同学,给你举个例子看看能不能理解

    int i = 0,j=0;

    int a = i++;    int b = ++j;

    输出a和b;(a应该为0,b为1

    输出i和j;(i和j应该都为1)

    这个例子可以看出,i++是先赋值后运算的,而++j是先自增后运算的

    以后碰到这样的就这样算,

    i++即后缀运算,赋值后在自增

    ++i即前缀运算,自增后在赋值

    满意请采纳~thanks

  • qq_离线中_03918651
    2016-09-06 19:20:37

    因为顺序:x++是先出后+1

    ++x是先+1后输出

C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926020 学习 · 20793 问题

查看课程

相似问题