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

向老师请教!

printf("%d\n",a++);这里输出的不应该是a++的值吗?为什么看讲解时a的值?这是C语言基础3-3的例子,谢谢老师!


正在回答

2 回答

++前置和后置的区别。举个例子:

++前置先自增再赋值:

int a = 10;
int tmp = ++a; // tmp的值是11

++后置是先赋值再自增:

int a = 10;
int tmp = a++; // tmp的值是10

但是以上的前置和后置有一点是相同的:即a的值都是11.

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

bylium 提问者

非常感谢!
2015-10-28 回复 有任何疑惑可以回复我~

a++表达式就是 a 的值。

课程对此讲解得非常不详细,跟本没有区分好变量的值表达式的值。

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

bylium 提问者

非常感谢!今天又重看那个题,又理解不了我自己的问题了!我感觉这道题printf("%d\n",a++);我们自己改写成printf("A=%d\n",a++);更好理解,这样就明显要输出的就是a++的值啊
2015-10-28 回复 有任何疑惑可以回复我~
#2

onemoo 回复 bylium 提问者

这两个printf没区别啊,都是要打印【a++表达式】的值。 也许你应该看看我在这里的详细解答: http://www.imooc.com/qadetail/83948
2015-10-29 回复 有任何疑惑可以回复我~
#3

bylium 提问者

回复 onemoo:膜拜大神!
2015-11-12 回复 有任何疑惑可以回复我~

举报

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

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

进入课程

向老师请教!

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