搞不懂 自增 增哪了

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

慕工程5151769

2018-12-31 23:00

单独写一个

#include <stdio.h>

int main()

{

    int a = 100;

    printf("a=%d\n",a++);

return    0

}                  结果还是100    说好的自增呢   不是说

a++还是++a都等于 a=a+1吗  既然a得值是100  结果不应该是a=100+1    所以 a=101的吗

写回答 关注

3回答

  • 慕前端242198
    2019-01-01 07:59:27
    已采纳

    a++ 是取值后在运算 所以 a=100 ,

    qq_慕仰3... 回复qq_慕九州...

    先取值在运算,第二次表达式中a的值才为101,第一次的取值还是不变的,为100

    2019-01-23 11:31:46

    共 2 条回复 >

  • qq_慕仰3335730
    2019-01-23 11:29:44

    例如:C语言中a=1,a=a+++1,a+++1这两个有什么区别,前者值是3,后者是2

    a=a+++1:先a++,a变为2 (即这个a++完了以后,a已经变成了2),然后开始2+1,然后再将2+1赋给a;
    而a+++1:则是先a++,即a变成了2,然后加1,因为加1后并没有赋值给回a,所以a还是2。

    因为你的表达式中a没有将取得的值再一次赋值给回a,但如果你是++a,那么程序中的结果就是101了

  • qq_慕神645887
    2019-01-11 13:56:29

    首先a++是输出a=100在加1,所以第一个结果是100,但运行下条语句时a的值已经是101了

    qq_精慕门...

    恍然大悟,谢谢

    2019-02-18 22:47:10

    共 1 条回复 >

C语言入门

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

926025 学习 · 20793 问题

查看课程

相似问题