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

请大神帮忙

例题1.#include <stdio.h>\n2.intmain()\n3.{\n4.int x=0;\n5.printf("x=%d\n",++x);\n6.printf("x=%d\n",++x);\n7.return0;\n8.}谁能告诉我这样做为什么不正确


提问者:qq_一路遇见一路失散_0 2016-03-23 18:10

个回答

  • 立云
    2016-03-24 00:18:31
    已采纳

    #include <stdio.h>

    int main()

    {

    int x=0;

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

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

    return 0;

    }

    你要验证什么?这个题的输出结果是x=1,x=2;

    因为自增运算符++,不论前置++x,还是后置x++,都是使得变量x的值多1;

    区别在于++构成的自增表达式的值不同。x++表达式的值为当前x的值;而++x表达式的值为自增1后x的值。

  • 我艾影
    2016-03-23 20:09:00

    你这样运行结果是X=1;X=2

    第一个应该是X++,电脑才会输出X=0.

  • qq_一路遇见一路失散_0
    2016-03-23 18:29:10

    对,就是这个意思。为什么不正确?

  • 午夜绿光
    2016-03-23 18:20:18

    #include <stdio.h>

    int main()

    {

    int x=0;

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

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

    return 0;

    }