这是什么逻辑

来源:5-11 变量存储类别

慕先生1377973

2018-10-21 21:25

为什么

#include <stdio.h>

int main()
{
    int i=0;
    printf("%d,%d",i++,++i);
    return 0;
}

输出是1,2

#include <stdio.h>

int main()
{
    int i=0;
    printf("%d",i++);
    return 0;
}

输出是0?

写回答 关注

1回答

  • 慕粉2104302525
    2018-10-27 21:30:10

    i++是先取值后自增,++i是先自增后取值

    printf函数的执行顺序是由右到左的,如:函数printf("%d%d\n",a,b);函数的实际输出顺序是先计算出b,然后在计算a,接着输出a,最后在输出b;

    为了她而奋斗 回复慕粉0247...

    printf函数的执行顺序是由右到左的,自增运算符(++i)先加1,再使用i,此时i已经加了1;自增运算符(i++)先使用i,再加1

    2018-12-06 21:45:59

    共 2 条回复 >

C语言入门

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

926021 学习 · 20793 问题

查看课程

相似问题