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

为什么我这样打完代码后就错了呢?哪位大神能帮下我

#include <stdio.h>
int main()
{
    int x=0;
    printf("x=%d\nx=%d",x++,++x);
    return 0;
}


提问者:章健松 2019-10-07 08:59

个回答

  • 精慕门3431640
    2019-10-08 16:49:00
    已采纳

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

  • 慕粉1469055719
    2019-10-12 21:06:34

    #include <stdio.h>

    int main()

    {

        int x = 0;

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

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

        return 0;

    }


  • qq_灰色的世界_03825747
    2019-10-12 19:54:17

    #include <stdio.h>

    int main()

    {

        int x = 0;

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

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

        return 0;

    }


  • 章健松
    2019-10-12 12:18:03

    其实我这个是对的,只是各种的编译器会不一样,如果你将我的代码放在codeblocks上运行就就可以成功

  • 慕UI8522196
    2019-10-12 08:50:48

    两行单独运算分别给变量赋值,一行就是一次性赋值,有冲突

     

  • 章健松
    2019-10-08 18:13:01

    我这个代码是可以运行的,输出的结果是

    x=1

    x=2


  • 章健松
    2019-10-08 18:11:36

    还是错了,试了一下,我连到一起就错了,分开打就对了,不知道为什么,但我感觉这个打法和分开打没什么区别

    我认为感觉不是在这错了,因为\n只是起到换行的作用,感觉是在赋值是偷偷换掉了X的原始值才错了,但这是我的猜想,不知道具体原因是什么