为了账号安全,请及时绑定邮箱和手机立即绑定

这是什么逻辑

为什么

#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 回答

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

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

0 回复 有任何疑惑可以回复我~
#1

慕粉0247298809

第一个输出结果,不是应该是0和2吗?
2018-11-02 回复 有任何疑惑可以回复我~
#2

为了她而奋斗 回复 慕粉0247298809

printf函数的执行顺序是由右到左的,自增运算符(++i)先加1,再使用i,此时i已经加了1;自增运算符(i++)先使用i,再加1
2018-12-06 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

这是什么逻辑

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信