关于表达式计算次序问题?

来源:百度知道 编辑:UC知道 时间:2024/06/05 23:16:08
关于表达式计算次序问题?

定义:int a[10]={1,3,5,7,9};
int *p=a;
求值:(*p++)*(*(++p))=?
2*(*p++)*(*(++p))=?
2*((*p++)*(*(++p)))=?
希望高手能给出求解的详细过程,谢谢。

答案为:
(*p++)*(*(++p))=9
2*(*p++)*(*(++p))=6
2*((*p++)*(*(++p)))=18

关键在于求解过程!

涉及到四种运算符,
* 解引用
* 乘法
++ 前置自增
++ 后置自增
优先级:
解引用 最高
后置自增
前置自增
乘法 最低

这是指针问题啊……看看老谭的书就明白了

基础知识,不但要会还要全面建议你去全面的看看这一章;