b+=((c--)/(a++))
如果是上面的式子的话 结果应该是3,原来的题,坦白说,不会做。
我倒是对另一个问题很感兴趣,这道题很明显,考的是符号的优先级,看java书说,这种优先级记下来没有多大必要,开发时加括号就行了(我想实际中也是如此)。所以现在对于我这样一个将在一年后找工作的学生来说就遇到了一个两难问题:
一方面,对实际开发来说把优先级记下来没有太大必要(花时间而且不久可能你又忘记了)
另一方面,必需面对以后找工作,应届生笔试肯定对你能否得到工作很重要,而笔试就会考这种东西,所以我为了找到工作,必需去死记。
这个问题可以引申到很多基础知识的东西,一方面从开发的角度说,你理解透了就行,开发时不记得的查一下,在查的过程中慢慢记住。另一方面你要找工作,你要面对笔试,你就要花时间去死记。
我到底应该怎么办?

解决方案 »

  1.   

    这种题要这样看,A++或A--把它当函数看
    int func(int &A)//就是取引用的意思,具体我不知道怎么写了。
    {
        int temp = A;
        A=A+1;
        return temp;
    }
    同理--A看成
    int func(int &A)
    {
       A=A+1;
       return A;
    }
    这个应该更准确的应该把函数写成重载形式,可惜我忘了怎么写了。
    我就是这么想的,这么做应该没问题。
      

  2.   

    a=1,b=2,c=3,
    b+=c--/a++相当于b=b+((c--)/(a++))即b=2+3/1=5
    这里c--和a++优先级最高,但却是先赋值后自运算
      

  3.   

    刚学c语言的时候讲的东西,主要就考个优先级,先算a++,c--,再就是考a++和++a别弄混了,很简单吧,答案是5吗?
      

  4.   

    当然是5了
    c--是3,a++是1,b=b+3/1,所以b=2+3=5