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

老师,请问一下

先运算和先取值有啥区别啊?还是不明白?

正在回答

15 回答

“++的运算”:取值+1

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

假如有下面代码:

int a = 1;
printf("%d\n", a++); // 输出1
printf("%d\n", a); // 输出2

第一个printf要打印出a++的值。所谓先取值再运算是指:a++的值就是a当时的值(即把a的值取出来),在之后a会自增1。 所以a++的值就是1,而在这个语句结束后a的值就自增1,变成2了,所以第二个printf输出2。


如果后两句是这样:

printf("%d\n", ++a); // 输出2
printf("%d\n", a); // 还是输出2

同样第一个printf要打印++a的值。所谓先运算再取值是值:++a的值是先将a自增1,再取这个结果。所以++a的值是a+1 = 2。第一个printf就打印出2了。而这之后a的值还是2。

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

举报

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

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

进入课程

老师,请问一下

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