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

请大佬指点迷津,谢谢!

请大佬指点迷津,谢谢!

C++ C# C
DeathHunk 2020-04-12 18:25:53
#include <stdio.h>int main(){    int x = 0;    printf("x=%d\n",x++);    printf("x=%d\n",++x);    return 0;}为什么这里是x=0                    x=2————————————————————#include <stdio.h>int main(){ int x = 0; printf("x=%d\nx=%d", x++, ++x); return 0;}这里却成了x=1                 x=2 
查看完整描述

1 回答

已采纳
?
按照自己的节奏前行

TA贡献90条经验 获得超70个赞

很简单,规则问题

x++表示先赋值,后执行加法操作,再赋值,这个时候,第一个输出的x是0,然后打印x=0

在执行加法赋值操作,此时x=1了

++x表示先执行加法操作,在赋值,所以x=2了

---------------

后面那个,

初始x=0, 

x++,此时x=1,但是第一个参数此时还是为0,

++x,此时x=2,第一个参数修改为1,

通常大家不会写这么难以理解的代码,容易出错

x++的时候,最开始x还是为0,但是后面执行++x,所以第一个就等于1了

查看完整回答
1 反对 回复 2020-04-12
  • 1 回答
  • 0 关注
  • 456 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信