拍照搜题秒出答案,一键查看所有搜题记录
拍照搜题秒出答案,一键查看所有搜题记录
面试时的这个题目:这无疑就是茬考察自加的问题类似的问题还有许多:
像这样一连串的写法,无疑给我们分析这个表达式造成了很大的困难
要搞清楚这个问题唯一僦是看编译后的汇编代码,看看到底是如何编译的
我经过总结,编译过程是这样的(具体的编译原理我不是很清楚)这样的表达式先表示成语法树,假设是这个表达式(a++)*(++a)*(a++)*(++a);其语法树的求解过程是:
在计算每一步的时候,如果二元表达式左边或右边有++a则先计算++a的值并放入a變量,然后将两个a的值相乘
最后得出的值就是表达式的值,再最后再补充未计算的a++表达式
这个表达式的VC6.0的汇编代码如下:
分析这样的表达式必须要非常清楚运算符的优先级,依据不同的优先级来分析每个子表达式的值,逐步的分析出表达式的值
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。