程序怎么运行错误啊?怎么调试?

来源:-

Deanrao

2015-12-02 20:34

这个程序怎么调整啊!a b的值应该是41啊

http://img.mukewang.com/565ee4ec000151af08030433.jpg

写回答 关注

4回答

  • 那谁某人
    2015-12-03 17:15:13

    public static void main(String[] args) {

    int a=40;

    int c=a++;     //此时a==41, c==40

    int b=++a;     //此时a==42,b==42

    System.out.println("a="+a);


  • Deanrao
    2015-12-02 21:48:48

    是啊,所以C是40啊,这个没有错啊。关键是a b的值怎么加到2了?是不是Eclipse需要调试下?

    静以修身淡以...

    a++是a=40,然后执行a=a+1=41 ++a是a=a+1=42(因为++a是在a++后,所以执行++a时,a的值已经为41了),b=a=42

    2015-12-02 23:50:44

    共 1 条回复 >

  • 萨达哈鲁
    2015-12-02 21:17:06

    a++是先执行表达式后再自增,执行表达式时使用的是a的原值。
    ++a是先自增再执行表达示,执行表达式时使用的是自增后的a。
    例:
    int a=0
    printf("%d",a++); //输出0,执行完后a=1

    int a=0
    printf("%d",++a);//输出1,执行完后a=1

    Deanra...

    是啊,所以C是40啊,这个没有错啊。关键是a b的值怎么加到2了?是不是Eclipse需要调试下?

    2015-12-02 21:49:27

    共 1 条回复 >

  • 泠风连翼兴涟漪
    2015-12-02 21:04:07

    a++是先执行表达式后再自增,执行表达式时使用的是a的原值。
    ++a是先自增再执行表达示,执行表达式时使用的是自增后的a。

    Deanra...

    是啊,所以C是40啊,这个没有错啊。关键是a b的值怎么加到2了?

    2015-12-02 21:47:21

    共 1 条回复 >

Java入门第一季(IDEA工具)升级版

0基础萌新入门第一课,从Java环境搭建、工具使用、基础语法开始

1165553 学习 · 17587 问题

查看课程

相似问题