首页 > 用户发贴区 > 编程问题提问区 > 求解 ???高手请帮一下啊.
2009
12-10

求解 ???高手请帮一下啊.

关于c语言中有个自加的  我看了几遍还是搞不懂

    已知a=b=c=1,a=a+++b+++c; 问a值 为多少啊

  我老师说是由于编译系统不同而结果不同 .答案为4;麻烦高手解释一下; 


求解 ???高手请帮一下啊.》有 3 条评论

  1. kkw 说:
    a=(a++)+b+(++c);
    程序是这样执行的,这样你应该明白了吧!
  2. lin_3 说:

    a=b=c=1,

    a=a+++b+++c;在VC++6.0中的执行过程是这样的,先将a,b,c的值加起来,放到a,(也就是a=3);

    然后再执行a++;
    它为什么这么执行?因为:原来的是:a=(a++)+(b++)+c; 它们的所有++都是在后面的,也就是说,如果使用Z来当左边的数的话,Z的值是3。
    但因为它的右边是a,所有程序在执行完加法后,就又执行了一次a++;所有a=4;http://www.vcgood.com/bbs/smileys/smiley1.gif','Image‘);” onmouseover=”this.style.cursor=’hand’” onmouseout=”this.style.cursor=”” src=”http://www.vcgood.com/bbs/smileys/smiley1.gif” height=”20″ width=”20″ border=”0″ alt=”Smile” title=”Smile” />
     
  3. hiroki 说:

    楼上解释的表达式正确

留下一个回复