设有int a[]={10,11,12},*p=&a[0];,则执行完*p++;*p+=1;后a[0],a[1],a[2]的值依次是( )

admin2010-04-24  8

问题 设有int a[]={10,11,12},*p=&a[0];,则执行完*p++;*p+=1;后a[0],a[1],a[2]的值依次是(    )

选项 A、10,11,12
B、11,12,12
C、10,12,12
D、11,11,12

答案C

解析 ++和"*"具有相同的优先级别,运算时都是采用自右向左结合运算的方式。"*p++"在运算时先运算"*p"再运算"p++"。在运算"*p+=1"时,P已做过一次自加1运算,而"*"运算的优先于"+-"运算;故"*p+=1"等同于a[2]+=1。
转载请注明原文地址:https://kaotiyun.com/show/HDAx777K
0

最新回复(0)