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

对例题的a++和a--和--a的结果不解

对例题的a++和a--和--a的结果不解

正在回答

2 回答

我改一下代码比较好理解

#include <stdio.h>

int main()

{

    int a =100,b,c,d,e;

    b=a++;  //①

    c=++a;  //②

    d=--a;  //③

    e=a--;   //④

    printf("%d\n",b);

    printf("%d\n",c);

    printf("%d\n",d);

    printf("%d\n",e);

    return 0;

}

事实上它程序运行时是这样的,进行①时可分为b=a;a=a+1;  此时得b=100   a在程序中的默认值则变为了a=101

然后②时 可拆成 a=a+1; c=a;  即先运算再取值,所以a=101+1=102  c=102    进行③时同理此时得a再程序中是102的,进行a=a-1;b=a; 所以a=101  b=101然后进行④时为e=a; a=a-1;  所以得e=101  a=100 


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

Muzeebob 提问者

非常感谢!
2015-12-05 回复 有任何疑惑可以回复我~
#2

熊猫竹

第3步的时候应该是把b换成d吧
2016-10-22 回复 有任何疑惑可以回复我~

a=100  b=a++;第一个 先用a的值赋给b  然后a在自增  a=101 b=100 

 第二个   c=++a;先自增 再把值赋给c  因为a在上一个式子已经等于101了所以自增后a=102  c=102 

 第三个  d=--a; 先自减  再赋值给d   a=101   d=101

 第四个 e=a--;先赋值给e 再 自减    e=101   a=100 



++a --a因为运算符号在前 所以先 自增 或自减 在使用a的值   a--   a++  因为运算符在后面 先使用 在 自增或自减

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

举报

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

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

进入课程

对例题的a++和a--和--a的结果不解

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