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

自增自减运算

#include

int main() {    int x = 0;    printf("x=%d\n",++x);    printf("x=%d\n",x++);    return 0; } 为什么最后第一个就等于0,第二个就等于2

正在回答

4 回答

第一个:因为是++x,先取值,后运算。先打印x,再运算x+1;即先打印0,再运行0+1赋值给x

第二个:由于第一个运行后x值1,x++先运算,后取值。先运算x=x+1,即运行1+1后赋值给x,再打印赋值结果2

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

一宿 提问者

非常 thank you !
2018-01-22 回复 有任何疑惑可以回复我~
#2

一宿 提问者

但是第一个不应该是1吗
2018-01-22 回复 有任何疑惑可以回复我~

最佳答案出++a,不是先运算,后取值吗??为什么最佳答案出不一样呢


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

++x先加一在输出;x++先赋值再加一

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

举报

0/150
提交
取消
C语言入门
  • 参与学习       924427    人
  • 解答问题       20753    个

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

进入课程

自增自减运算

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