老师,请问一下

来源:3-3 自增与自减运算符

zq缘来如此

2015-02-04 20:52

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

写回答 关注

2回答

  • linkin55
    2015-04-07 09:01:35

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

  • onemoo
    2015-02-04 23:29:11

    假如有下面代码:

    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。

C语言入门

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

926027 学习 · 20793 问题

查看课程

相似问题